Pulumi · Capability

Pulumi APIs — StackPolicy

Pulumi APIs — StackPolicy. 2 operations. Lead operation: GetStackPolicyGroups. Self-contained Naftiko capability covering one Pulumi business surface.

Run with Naftiko PulumiStackPolicy

What You Can Do

GET
Getstackpolicygroups — GetStackPolicyGroups
/v1/api/stacks/{orgname}/{projectname}/{stackname}/policygroups
GET
Getstackpolicypacks — GetStackPolicyPacks
/v1/api/stacks/{orgname}/{projectname}/{stackname}/policypacks

MCP Tools

getstackpolicygroups

GetStackPolicyGroups

read-only idempotent
getstackpolicypacks

GetStackPolicyPacks

read-only idempotent

Capability Spec

pulumi-stackpolicy.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pulumi APIs — StackPolicy
  description: 'Pulumi APIs — StackPolicy. 2 operations. Lead operation: GetStackPolicyGroups. Self-contained Naftiko capability
    covering one Pulumi business surface.'
  tags:
  - Pulumi
  - StackPolicy
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PULUMI_API_KEY: PULUMI_API_KEY
capability:
  consumes:
  - type: http
    namespace: pulumi-stackpolicy
    baseUri: ''
    description: Pulumi APIs — StackPolicy business capability. Self-contained, no shared references.
    resources:
    - name: api-stacks-orgName-projectName-stackName-policygroups
      path: /api/stacks/{orgName}/{projectName}/{stackName}/policygroups
      operations:
      - name: getstackpolicygroups
        method: GET
        description: GetStackPolicyGroups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgName
          in: path
          type: string
          description: The organization name
          required: true
        - name: projectName
          in: path
          type: string
          description: The project name
          required: true
        - name: stackName
          in: path
          type: string
          description: The stack name
          required: true
    - name: api-stacks-orgName-projectName-stackName-policypacks
      path: /api/stacks/{orgName}/{projectName}/{stackName}/policypacks
      operations:
      - name: getstackpolicypacks
        method: GET
        description: GetStackPolicyPacks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgName
          in: path
          type: string
          description: The organization name
          required: true
        - name: projectName
          in: path
          type: string
          description: The project name
          required: true
        - name: stackName
          in: path
          type: string
          description: The stack name
          required: true
        - name: mode
          in: query
          type: string
          description: Filter by policy group enforcement mode ('audit' or 'preventative')
  exposes:
  - type: rest
    namespace: pulumi-stackpolicy-rest
    port: 8080
    description: REST adapter for Pulumi APIs — StackPolicy. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/policygroups
      name: api-stacks-orgname-projectname-stackname-policygroups
      description: REST surface for api-stacks-orgName-projectName-stackName-policygroups.
      operations:
      - method: GET
        name: getstackpolicygroups
        description: GetStackPolicyGroups
        call: pulumi-stackpolicy.getstackpolicygroups
        with:
          orgName: rest.orgName
          projectName: rest.projectName
          stackName: rest.stackName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/policypacks
      name: api-stacks-orgname-projectname-stackname-policypacks
      description: REST surface for api-stacks-orgName-projectName-stackName-policypacks.
      operations:
      - method: GET
        name: getstackpolicypacks
        description: GetStackPolicyPacks
        call: pulumi-stackpolicy.getstackpolicypacks
        with:
          orgName: rest.orgName
          projectName: rest.projectName
          stackName: rest.stackName
          mode: rest.mode
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: pulumi-stackpolicy-mcp
    port: 9090
    transport: http
    description: MCP adapter for Pulumi APIs — StackPolicy. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: getstackpolicygroups
      description: GetStackPolicyGroups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulumi-stackpolicy.getstackpolicygroups
      with:
        orgName: tools.orgName
        projectName: tools.projectName
        stackName: tools.stackName
      outputParameters:
      - type: object
        mapping: $.
    - name: getstackpolicypacks
      description: GetStackPolicyPacks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulumi-stackpolicy.getstackpolicypacks
      with:
        orgName: tools.orgName
        projectName: tools.projectName
        stackName: tools.stackName
        mode: tools.mode
      outputParameters:
      - type: object
        mapping: $.