Pulumi DeploymentRunners API

The DeploymentRunners API from Pulumi — 2 operation(s) for deploymentrunners.

OpenAPI Specification

pulumi-deploymentrunners-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: APIs and Definitions for the Pulumi Cloud product.
  title: Pulumi APIs AccessTokens DeploymentRunners API
  version: 1.0.0
tags:
- name: DeploymentRunners
paths:
  /api/orgs/{orgName}/agent-pools:
    get:
      description: Returns all agent pools configured for an organization. Agent pools enable self-hosted deployment agents, allowing organizations to run Pulumi Deployments on their own infrastructure for accessing private networks, meeting compliance requirements, or using custom execution environments. Each pool in the response includes its ID, name, and configuration details.
      operationId: ListOrgAgentPool
      parameters:
      - description: The organization name
        in: path
        name: orgName
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAgentPoolsResponse'
          description: OK
        '403':
          description: Forbidden
      summary: ListOrgAgentPool
      tags:
      - DeploymentRunners
    post:
      description: Creates a new agent pool for an organization. Agent pools enable self-hosted deployment agents, allowing organizations to run Pulumi Deployments on their own infrastructure rather than Pulumi-managed infrastructure. This is useful for accessing private networks, meeting compliance requirements, or using custom execution environments. The response includes an access token (agent pool secret) that self-hosted agents use to authenticate when polling for deployment work. This token is only returned once at creation time and cannot be retrieved later.
      operationId: CreateOrgAgentPool
      parameters:
      - description: The organization name
        in: path
        name: orgName
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrgAgentPoolRequest'
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccessTokenResponse'
          description: OK
        '400':
          description: Metadata object store endpoint is not configured
        '403':
          description: Forbidden
      summary: CreateOrgAgentPool
      tags:
      - DeploymentRunners
  /api/orgs/{orgName}/agent-pools/{poolId}:
    delete:
      description: Deletes an agent pool from an organization. If the agent pool is currently referenced by any stack's deployment settings, the deletion will fail with a 400 error unless the 'force' query parameter is set to true. Force-deleting a pool that is in use will cause affected stacks to fall back to Pulumi-managed infrastructure for future deployments. Returns 204 No Content on success.
      operationId: DeleteOrgAgentPool
      parameters:
      - description: The organization name
        in: path
        name: orgName
        required: true
        schema:
          type: string
      - description: The agent pool identifier
        in: path
        name: poolId
        required: true
        schema:
          type: string
      - description: Force the operation even if the pool is in use
        in: query
        name: force
        schema:
          type: boolean
      responses:
        '204':
          description: No Content
        '400':
          description: Agent pool is in use
        '403':
          description: Forbidden
        '404':
          description: AgentPool
      summary: DeleteOrgAgentPool
      tags:
      - DeploymentRunners
    get:
      description: Returns the details of a specific agent pool, including its name, ID, creation timestamp, and configuration. Agent pools enable self-hosted deployment agents that run Pulumi Deployments on organization-managed infrastructure. The pool ID can be referenced in stack deployment settings to route deployments to self-hosted agents instead of Pulumi-managed infrastructure.
      operationId: GetAgentPool
      parameters:
      - description: The organization name
        in: path
        name: orgName
        required: true
        schema:
          type: string
      - description: The agent pool identifier
        in: path
        name: poolId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPoolDetail'
          description: OK
        '403':
          description: Forbidden
        '404':
          description: AgentPool
      summary: GetAgentPool
      tags:
      - DeploymentRunners
    patch:
      description: Updates an existing agent pool's configuration for an organization. This can be used to modify the pool's name or other configurable properties. The request body uses the same format as CreateOrgAgentPool. Only provided fields are updated; omitted fields remain unchanged.
      operationId: PatchOrgAgentPool
      parameters:
      - description: The organization name
        in: path
        name: orgName
        required: true
        schema:
          type: string
      - description: The agent pool identifier
        in: path
        name: poolId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrgAgentPoolRequest'
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchOrgAgentPoolResponse'
          description: OK
        '403':
          description: Forbidden
        '404':
          description: AgentPool
      summary: PatchOrgAgentPool
      tags:
      - DeploymentRunners
components:
  schemas:
    ListAgentPoolsResponse:
      description: Response containing a list of agent pools.
      properties:
        agentPools:
          description: The list of agent pools
          items:
            $ref: '#/components/schemas/AgentPool'
          type: array
          x-order: 1
        defaultAgentPoolID:
          description: The ID of the organization's default agent pool. Omitted if the organization uses the Pulumi Hosted Pool.
          type: string
          x-order: 2
      required:
      - agentPools
      type: object
    PatchOrgAgentPoolResponse:
      description: Response body after partially updating an organization's agent pool.
      properties:
        description:
          description: The updated description of the agent pool after the patch operation.
          type: string
          x-order: 2
        name:
          description: The updated name of the agent pool after the patch operation.
          type: string
          x-order: 1
      required:
      - description
      - name
      type: object
    CreateAccessTokenResponse:
      description: 'CreateAccessTokenResponse is the shape of the response after creating a token. The ID is an opaque ID that can be used

        in future CRUD operations and the Token is the actual token value (that is presented in the authorization header).'
      properties:
        id:
          description: The unique identifier
          type: string
          x-order: 1
        tokenValue:
          description: The token value
          type: string
          x-order: 2
      required:
      - id
      - tokenValue
      type: object
    AgentPoolDetail:
      description: Detailed information about an agent pool.
      properties:
        agents:
          description: The agents
          items:
            $ref: '#/components/schemas/DeploymentAgentMetadata'
          type: array
          x-order: 5
        created:
          description: The creation timestamp
          format: int64
          type: integer
          x-order: 1
        description:
          description: The description
          type: string
          x-order: 4
        id:
          description: The unique identifier
          type: string
          x-order: 2
        name:
          description: The name
          type: string
          x-order: 3
      required:
      - agents
      - created
      - description
      - id
      - name
      type: object
    AgentPool:
      description: A pool of self-hosted deployment agents for running Pulumi Deployments.
      properties:
        created:
          description: Unix epoch timestamp (seconds) when the agent pool was created.
          format: int64
          type: integer
          x-order: 1
        description:
          description: User-provided description of the agent pool's purpose.
          type: string
          x-order: 4
        id:
          description: Unique identifier for this agent pool.
          type: string
          x-order: 2
        isDefault:
          description: Whether this pool is the organization's default workflow runner pool.
          type: boolean
          x-order: 8
        lastDeployment:
          description: Unix epoch timestamp (seconds) of the most recent deployment executed by this pool. Null if no deployments have run.
          format: int64
          type: integer
          x-order: 7
        lastSeen:
          description: Unix epoch timestamp (seconds) when any agent in the pool last reported a heartbeat.
          format: int64
          type: integer
          x-order: 5
        name:
          description: Human-readable name for this agent pool.
          type: string
          x-order: 3
        status:
          description: Aggregate status of agents in the pool (e.g. idle, busy, offline).
          enum:
          - online
          - offline
          type: string
          x-order: 6
          x-pulumi-model-property:
            enumTypeName: DeploymentAgentStatus
            enumComments: DeploymentAgentStatus is an enum representing the online/offline status of a deployment agent.
      required:
      - created
      - description
      - id
      - isDefault
      - lastSeen
      - name
      - status
      type: object
    CreateOrgAgentPoolRequest:
      description: Request body for create org agent pool.
      properties:
        description:
          description: The description
          type: string
          x-order: 2
        name:
          description: The name
          type: string
          x-order: 1
      required:
      - description
      - name
      type: object
    DeploymentAgentMetadata:
      description: DeploymentAgentMetadata contains metadata about a deployment agent, including version, platform, and connectivity information.
      properties:
        hostname:
          description: The hostname of the machine running the agent.
          type: string
          x-order: 3
        ip:
          description: The IP address of the agent.
          type: string
          x-order: 4
        lastSeen:
          description: The Unix timestamp when the agent was last seen.
          format: int64
          type: integer
          x-order: 6
        pid:
          description: The process ID of the agent.
          type: string
          x-order: 5
        platform:
          description: The platform the agent is running on.
          type: string
          x-order: 2
        status:
          description: The current status of the deployment agent.
          enum:
          - online
          - offline
          type: string
          x-order: 7
          x-pulumi-model-property:
            enumTypeName: DeploymentAgentStatus
            enumComments: DeploymentAgentStatus is an enum representing the online/offline status of a deployment agent.
        version:
          description: The version of the deployment agent.
          type: string
          x-order: 1
      required:
      - hostname
      - ip
      - lastSeen
      - pid
      - platform
      - status
      - version
      type: object