Pulumi · Capability

Pulumi APIs — RegistryPreview

Pulumi APIs — RegistryPreview. 18 operations. Lead operation: ListPackages. Self-contained Naftiko capability covering one Pulumi business surface.

Run with Naftiko PulumiRegistryPreview

What You Can Do

GET
Listpackagespreview — ListPackages
/v1/registry/packages
POST
Postpublishpackageversionpreview — PostPublishPackageVersion
/v1/registry/packages/{source}/{publisher}/{name}/versions
DELETE
Deletepublishpackageversionpreview — DeletePublishPackageVersion
/v1/registry/packages/{source}/{publisher}/{name}/versions/{version}
GET
Getpackageversionpreview — GetPackageVersion
/v1/registry/packages/{source}/{publisher}/{name}/versions/{version}
POST
Postpublishpackageversioncompletepreview — PostPublishPackageVersionComplete
/v1/registry/packages/{source}/{publisher}/{name}/versions/{version}/complete
GET
Listpolicypackspreviewregistry — ListPolicyPacks
/v1/registry/policypacks
POST
Listpolicypackspreviewregistrypost — ListPolicyPacks
/v1/registry/policypacks
DELETE
Deletepolicypackpreviewregistrypolicypacks — DeletePolicyPack
/v1/registry/policypacks/{source}/{publisher}/{name}
GET
Listpolicypackversions — ListPolicyPackVersions
/v1/registry/policypacks/{source}/{publisher}/{name}/versions
POST
Postpublishpolicypackversion — PostPublishPolicyPackVersion
/v1/registry/policypacks/{source}/{publisher}/{name}/versions
DELETE
Deletepolicypackpreviewregistrypolicypacksversions — DeletePolicyPack
/v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
GET
Getpolicypackversion — GetPolicyPackVersion
/v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
POST
Postpublishpolicypackversioncomplete — PostPublishPolicyPackVersionComplete
/v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete
GET
Listtemplatespreview — ListTemplates
/v1/registry/templates
POST
Postpublishtemplateversionpreview — PostPublishTemplateVersion
/v1/registry/templates/{source}/{publisher}/{name}/versions
DELETE
Deletetemplateversionpreview — DeleteTemplateVersion
/v1/registry/templates/{source}/{publisher}/{name}/versions/{version}
GET
Gettemplateversionpreview — GetTemplateVersion
/v1/registry/templates/{source}/{publisher}/{name}/versions/{version}
POST
Postpublishtemplateversioncompletepreview — PostPublishTemplateVersionComplete
/v1/registry/templates/{source}/{publisher}/{name}/versions/{version}/complete

MCP Tools

listpackages

ListPackages

read-only idempotent
postpublishpackageversion

PostPublishPackageVersion

deletepublishpackageversion

DeletePublishPackageVersion

idempotent
getpackageversion

GetPackageVersion

read-only idempotent
postpublishpackageversioncomplete

PostPublishPackageVersionComplete

listpolicypacks

ListPolicyPacks

read-only idempotent
listpolicypacks-2

ListPolicyPacks

deletepolicypack

DeletePolicyPack

idempotent
listpolicypackversions

ListPolicyPackVersions

read-only idempotent
postpublishpolicypackversion

PostPublishPolicyPackVersion

deletepolicypack-2

DeletePolicyPack

idempotent
getpolicypackversion

GetPolicyPackVersion

read-only idempotent
postpublishpolicypackversioncomplete

PostPublishPolicyPackVersionComplete

listtemplates

ListTemplates

read-only idempotent
postpublishtemplateversion

PostPublishTemplateVersion

deletetemplateversion

DeleteTemplateVersion

idempotent
gettemplateversion

GetTemplateVersion

read-only idempotent
postpublishtemplateversioncomplete

PostPublishTemplateVersionComplete

Capability Spec

pulumi-registrypreview.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pulumi APIs — RegistryPreview
  description: 'Pulumi APIs — RegistryPreview. 18 operations. Lead operation: ListPackages. Self-contained Naftiko capability
    covering one Pulumi business surface.'
  tags:
  - Pulumi
  - RegistryPreview
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PULUMI_API_KEY: PULUMI_API_KEY
capability:
  consumes:
  - type: http
    namespace: pulumi-registrypreview
    baseUri: ''
    description: Pulumi APIs — RegistryPreview business capability. Self-contained, no shared references.
    resources:
    - name: api-preview-registry-packages
      path: /api/preview/registry/packages
      operations:
      - name: listpackagespreview
        method: GET
        description: ListPackages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: asc
          in: query
          type: boolean
          description: When true, sort results in ascending order
        - name: continuationToken
          in: query
          type: string
          description: Pagination token for retrieving the next page of results
        - name: limit
          in: query
          type: integer
          description: 'Results per page (default: 100)'
        - name: name
          in: query
          type: string
          description: Filter by specific package name
        - name: orgLogin
          in: query
          type: string
          description: Filter by owning organization
        - name: publisher
          in: query
          type: string
          description: Filter by publisher organization
        - name: sort
          in: query
          type: string
          description: Sort field for results
        - name: visibility
          in: query
          type: string
          description: Filter by visibility level
    - name: api-preview-registry-packages-source-publisher-name-versions
      path: /api/preview/registry/packages/{source}/{publisher}/{name}/versions
      operations:
      - name: postpublishpackageversionpreview
        method: POST
        description: PostPublishPackageVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the package
          required: true
        - name: name
          in: path
          type: string
          description: The package name
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-preview-registry-packages-source-publisher-name-versions-version
      path: /api/preview/registry/packages/{source}/{publisher}/{name}/versions/{version}
      operations:
      - name: deletepublishpackageversionpreview
        method: DELETE
        description: DeletePublishPackageVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the package
          required: true
        - name: name
          in: path
          type: string
          description: The package name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string of the package version to delete
          required: true
      - name: getpackageversionpreview
        method: GET
        description: GetPackageVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the package
          required: true
        - name: name
          in: path
          type: string
          description: The package name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string or 'latest'
          required: true
    - name: api-preview-registry-packages-source-publisher-name-versions-version-complete
      path: /api/preview/registry/packages/{source}/{publisher}/{name}/versions/{version}/complete
      operations:
      - name: postpublishpackageversioncompletepreview
        method: POST
        description: PostPublishPackageVersionComplete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The package source: ''pulumi'', ''opentofu'', or ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the package
          required: true
        - name: name
          in: path
          type: string
          description: The package name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string of the package version to complete
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-preview-registry-policypacks
      path: /api/preview/registry/policypacks
      operations:
      - name: listpolicypackspreviewregistry
        method: GET
        description: ListPolicyPacks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: access
          in: query
          type: string
          description: Filter by access level
        - name: orgLogin
          in: query
          type: string
          description: Required. Filter by owning organization
      - name: listpolicypackspreviewregistrypost
        method: POST
        description: ListPolicyPacks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-preview-registry-policypacks-source-publisher-name
      path: /api/preview/registry/policypacks/{source}/{publisher}/{name}
      operations:
      - name: deletepolicypackpreviewregistrypolicypacks
        method: DELETE
        description: DeletePolicyPack
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The policy pack source: ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the policy pack
          required: true
        - name: name
          in: path
          type: string
          description: The policy pack name
          required: true
    - name: api-preview-registry-policypacks-source-publisher-name-versions
      path: /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions
      operations:
      - name: listpolicypackversions
        method: GET
        description: ListPolicyPackVersions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The policy pack source: ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the policy pack
          required: true
        - name: name
          in: path
          type: string
          description: The policy pack name
          required: true
      - name: postpublishpolicypackversion
        method: POST
        description: PostPublishPolicyPackVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The policy pack source: ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the policy pack
          required: true
        - name: name
          in: path
          type: string
          description: The policy pack name
          required: true
    - name: api-preview-registry-policypacks-source-publisher-name-versions-version
      path: /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
      operations:
      - name: deletepolicypackpreviewregistrypolicypacksversions
        method: DELETE
        description: DeletePolicyPack
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The policy pack source: ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the policy pack
          required: true
        - name: name
          in: path
          type: string
          description: The policy pack name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string of the policy pack version to delete
          required: true
      - name: getpolicypackversion
        method: GET
        description: GetPolicyPackVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The policy pack source: ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the policy pack
          required: true
        - name: name
          in: path
          type: string
          description: The policy pack name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string or 'latest'
          required: true
    - name: api-preview-registry-policypacks-source-publisher-name-versions-version-complete
      path: /api/preview/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete
      operations:
      - name: postpublishpolicypackversioncomplete
        method: POST
        description: PostPublishPolicyPackVersionComplete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The policy pack source: ''private'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the policy pack
          required: true
        - name: name
          in: path
          type: string
          description: The policy pack name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string of the policy pack version to complete
          required: true
    - name: api-preview-registry-templates
      path: /api/preview/registry/templates
      operations:
      - name: listtemplatespreview
        method: GET
        description: ListTemplates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: continuationToken
          in: query
          type: string
          description: Pagination token for retrieving the next page of results
        - name: limit
          in: query
          type: integer
          description: 'Maximum number of results to return (default: 100)'
        - name: name
          in: query
          type: string
          description: Filter by specific template name
        - name: orgLogin
          in: query
          type: string
          description: Filter by owning organization
        - name: search
          in: query
          type: string
          description: 'Search query matching template name, display name, description, metadata values, or runtime language.
            Multiple space-separated terms require all terms to match '
    - name: api-preview-registry-templates-source-publisher-name-versions
      path: /api/preview/registry/templates/{source}/{publisher}/{name}/versions
      operations:
      - name: postpublishtemplateversionpreview
        method: POST
        description: PostPublishTemplateVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The template source: ''private'', ''github'', or ''gitlab'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the template
          required: true
        - name: name
          in: path
          type: string
          description: The template name
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-preview-registry-templates-source-publisher-name-versions-version
      path: /api/preview/registry/templates/{source}/{publisher}/{name}/versions/{version}
      operations:
      - name: deletetemplateversionpreview
        method: DELETE
        description: DeleteTemplateVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The template source: ''private'', ''github'', or ''gitlab'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the template
          required: true
        - name: name
          in: path
          type: string
          description: The template name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string of the template version to delete
          required: true
        - name: force
          in: query
          type: boolean
          description: When true, allows deletion of the final remaining template version
      - name: gettemplateversionpreview
        method: GET
        description: GetTemplateVersion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The template source: ''private'', ''github'', or ''gitlab'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the template
          required: true
        - name: name
          in: path
          type: string
          description: The template name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string or 'latest'
          required: true
    - name: api-preview-registry-templates-source-publisher-name-versions-version-complete
      path: /api/preview/registry/templates/{source}/{publisher}/{name}/versions/{version}/complete
      operations:
      - name: postpublishtemplateversioncompletepreview
        method: POST
        description: PostPublishTemplateVersionComplete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: source
          in: path
          type: string
          description: 'The template source: ''private'', ''github'', or ''gitlab'''
          required: true
        - name: publisher
          in: path
          type: string
          description: Organization that owns the template
          required: true
        - name: name
          in: path
          type: string
          description: The template name
          required: true
        - name: version
          in: path
          type: string
          description: Semantic version string of the template version to complete
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: pulumi-registrypreview-rest
    port: 8080
    description: REST adapter for Pulumi APIs — RegistryPreview. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/registry/packages
      name: api-preview-registry-packages
      description: REST surface for api-preview-registry-packages.
      operations:
      - method: GET
        name: listpackagespreview
        description: ListPackages
        call: pulumi-registrypreview.listpackagespreview
        with:
          asc: rest.asc
          continuationToken: rest.continuationToken
          limit: rest.limit
          name: rest.name
          orgLogin: rest.orgLogin
          publisher: rest.publisher
          sort: rest.sort
          visibility: rest.visibility
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/packages/{source}/{publisher}/{name}/versions
      name: api-preview-registry-packages-source-publisher-name-versions
      description: REST surface for api-preview-registry-packages-source-publisher-name-versions.
      operations:
      - method: POST
        name: postpublishpackageversionpreview
        description: PostPublishPackageVersion
        call: pulumi-registrypreview.postpublishpackageversionpreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/packages/{source}/{publisher}/{name}/versions/{version}
      name: api-preview-registry-packages-source-publisher-name-versions-version
      description: REST surface for api-preview-registry-packages-source-publisher-name-versions-version.
      operations:
      - method: DELETE
        name: deletepublishpackageversionpreview
        description: DeletePublishPackageVersion
        call: pulumi-registrypreview.deletepublishpackageversionpreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getpackageversionpreview
        description: GetPackageVersion
        call: pulumi-registrypreview.getpackageversionpreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/packages/{source}/{publisher}/{name}/versions/{version}/complete
      name: api-preview-registry-packages-source-publisher-name-versions-version-complete
      description: REST surface for api-preview-registry-packages-source-publisher-name-versions-version-complete.
      operations:
      - method: POST
        name: postpublishpackageversioncompletepreview
        description: PostPublishPackageVersionComplete
        call: pulumi-registrypreview.postpublishpackageversioncompletepreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/policypacks
      name: api-preview-registry-policypacks
      description: REST surface for api-preview-registry-policypacks.
      operations:
      - method: GET
        name: listpolicypackspreviewregistry
        description: ListPolicyPacks
        call: pulumi-registrypreview.listpolicypackspreviewregistry
        with:
          access: rest.access
          orgLogin: rest.orgLogin
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: listpolicypackspreviewregistrypost
        description: ListPolicyPacks
        call: pulumi-registrypreview.listpolicypackspreviewregistrypost
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/policypacks/{source}/{publisher}/{name}
      name: api-preview-registry-policypacks-source-publisher-name
      description: REST surface for api-preview-registry-policypacks-source-publisher-name.
      operations:
      - method: DELETE
        name: deletepolicypackpreviewregistrypolicypacks
        description: DeletePolicyPack
        call: pulumi-registrypreview.deletepolicypackpreviewregistrypolicypacks
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/policypacks/{source}/{publisher}/{name}/versions
      name: api-preview-registry-policypacks-source-publisher-name-versions
      description: REST surface for api-preview-registry-policypacks-source-publisher-name-versions.
      operations:
      - method: GET
        name: listpolicypackversions
        description: ListPolicyPackVersions
        call: pulumi-registrypreview.listpolicypackversions
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpublishpolicypackversion
        description: PostPublishPolicyPackVersion
        call: pulumi-registrypreview.postpublishpolicypackversion
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}
      name: api-preview-registry-policypacks-source-publisher-name-versions-version
      description: REST surface for api-preview-registry-policypacks-source-publisher-name-versions-version.
      operations:
      - method: DELETE
        name: deletepolicypackpreviewregistrypolicypacksversions
        description: DeletePolicyPack
        call: pulumi-registrypreview.deletepolicypackpreviewregistrypolicypacksversions
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getpolicypackversion
        description: GetPolicyPackVersion
        call: pulumi-registrypreview.getpolicypackversion
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/policypacks/{source}/{publisher}/{name}/versions/{version}/complete
      name: api-preview-registry-policypacks-source-publisher-name-versions-version-complete
      description: REST surface for api-preview-registry-policypacks-source-publisher-name-versions-version-complete.
      operations:
      - method: POST
        name: postpublishpolicypackversioncomplete
        description: PostPublishPolicyPackVersionComplete
        call: pulumi-registrypreview.postpublishpolicypackversioncomplete
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/templates
      name: api-preview-registry-templates
      description: REST surface for api-preview-registry-templates.
      operations:
      - method: GET
        name: listtemplatespreview
        description: ListTemplates
        call: pulumi-registrypreview.listtemplatespreview
        with:
          continuationToken: rest.continuationToken
          limit: rest.limit
          name: rest.name
          orgLogin: rest.orgLogin
          search: rest.search
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/templates/{source}/{publisher}/{name}/versions
      name: api-preview-registry-templates-source-publisher-name-versions
      description: REST surface for api-preview-registry-templates-source-publisher-name-versions.
      operations:
      - method: POST
        name: postpublishtemplateversionpreview
        description: PostPublishTemplateVersion
        call: pulumi-registrypreview.postpublishtemplateversionpreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/templates/{source}/{publisher}/{name}/versions/{version}
      name: api-preview-registry-templates-source-publisher-name-versions-version
      description: REST surface for api-preview-registry-templates-source-publisher-name-versions-version.
      operations:
      - method: DELETE
        name: deletetemplateversionpreview
        description: DeleteTemplateVersion
        call: pulumi-registrypreview.deletetemplateversionpreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: gettemplateversionpreview
        description: GetTemplateVersion
        call: pulumi-registrypreview.gettemplateversionpreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/registry/templates/{source}/{publisher}/{name}/versions/{version}/complete
      name: api-preview-registry-templates-source-publisher-name-versions-version-complete
      description: REST surface for api-preview-registry-templates-source-publisher-name-versions-version-complete.
      operations:
      - method: POST
        name: postpublishtemplateversioncompletepreview
        description: PostPublishTemplateVersionComplete
        call: pulumi-registrypreview.postpublishtemplateversioncompletepreview
        with:
          source: rest.source
          publisher: rest.publisher
          name: rest.name
          version: rest.version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: pulumi-registrypreview-mcp
    port: 9090
    transport: http
    description: MCP adapter for Pulumi APIs — RegistryPreview. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: listpackages
      description: ListPackages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulumi-registrypreview.listpackagespreview
      with:
        asc: tools.asc
        continuationToken: tools.continuationToken
        limit: tools.limit
        name: tools.name
        orgLogin: tools.orgLogin
        publisher: tools.publisher
        sort: tools.sort
        visibility: tools.visibility
      outputParameters:
      - type: object
        mapping: $.
    - name: postpublishpackageversion
      description: PostPublishPackageVersion
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: pulumi-registrypreview.postpublishpackageversionpreview
      with:
        source: tools.source
        publisher: tools.publisher
        name: tools.name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: deletepublishpackageversion
      description: DeletePublishPackageVersion
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: pulumi-registrypreview.deletepublishpackageversionpreview
      with:
        source: tools.source
        publisher: tools.publisher
        name: tools.name
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: getpackageversion
      description: GetPackageVersion
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulumi-registrypreview.getpackageversionpreview
      with:
        source: tools.source
        publisher: tools.publisher
        name: tools.name
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: postpublishpackageversioncomplete
      description: PostPublishPackageVersionComplete
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: pulumi-registrypreview.postpublishpackageversioncompletepreview
      with:
        source: tools.source
        publisher: tools.publisher
        name: tools.name
        version: tools.version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: listpolicypacks
      description: ListPolicyPacks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulumi-registrypreview.listpolicypackspreviewregistry
      with:
        access: tools.access
        orgLogin: tools.orgLogin
      outputParameters:
      - type: object
        mapping: $.
    - name: listpolicypacks-2
      description: ListPolicyPacks
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: pulumi-registrypreview.listpolicypackspreviewregistrypost
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: deletepolicypack
      description: DeletePolicyPack
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: pulumi-registrypreview.deletepolicypackpreviewregistrypolicypacks
      with:
        source: tools.source
        publisher: tools.publisher
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: listpolicypackversions
      description: ListPolicyPackVersions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulumi-registrypreview.listpolicypackversions
      with:
        source: tools.source
        publisher: tools.publisher
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: postpublishpolicypackversion

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pulumi/refs/heads/main/capabilities/pulumi-registrypreview.yaml