> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langchain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Patch Deployment

> Patch a deployment by ID.



## OpenAPI

````yaml https://api.host.langchain.com/openapi.json patch /v2/deployments/{deployment_id}
openapi: 3.1.0
info:
  title: LangSmith Deployment Control Plane API
  description: >
    The LangSmith Deployment Control Plane API is used to programmatically
    create and manage

    Agent Server deployments. For example, the APIs can be orchestrated to

    create custom CI/CD workflows.


    ## Host

    https://api.host.langchain.com


    ## Authentication

    To authenticate with the LangSmith Deployment Control Plane API, set the
    `X-Api-Key` header

    to a valid [LangSmith API
    key](https://docs.langchain.com/langsmith/create-account-api-key#create-an-api-key).


    ## Versioning

    Each endpoint path is prefixed with a version (e.g. `v1`, `v2`).


    ## Quick Start

    1. Call `POST /v2/deployments` to create a new Deployment. The response body
    contains the Deployment ID (`id`) and the ID of the latest (and first)
    revision (`latest_revision_id`).

    1. Call `GET /v2/deployments/{deployment_id}` to retrieve the Deployment.
    Set `deployment_id` in the URL to the value of Deployment ID (`id`).

    1. Poll for revision `status` until `status` is `DEPLOYED` by calling `GET
    /v2/deployments/{deployment_id}/revisions/{latest_revision_id}`.

    1. Call `PATCH /v2/deployments/{deployment_id}` to update the deployment.
  version: 0.1.0
servers: []
security: []
paths:
  /v2/deployments/{deployment_id}:
    patch:
      tags:
        - Deployments (v2)
      summary: Patch Deployment
      description: Patch a deployment by ID.
      operationId: patch_deployment_v2_deployments__deployment_id__patch
      parameters:
        - name: deployment_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Deployment ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentPatchRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployment'
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                detail: Error description.
        '404':
          description: Not Found
          content:
            application/json:
              example:
                detail: Deployment ID {deployment_id} not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - API Key: []
        - Tenant ID: []
        - Bearer Auth: []
components:
  schemas:
    DeploymentPatchRequest:
      properties:
        revision_source:
          anyOf:
            - type: string
              enum:
                - github
                - internal_docker
                - internal_source
            - type: 'null'
          title: Revision Source
          description: >-
            Override the source for this revision. If omitted, falls back to
            deployment's default source.
        source_config:
          anyOf:
            - $ref: '#/components/schemas/SourceConfigRequest'
            - type: 'null'
        source_revision_config:
          anyOf:
            - $ref: '#/components/schemas/SourceRevisionConfigRequest'
            - type: 'null'
        secrets:
          anyOf:
            - items:
                $ref: '#/components/schemas/Secret'
              type: array
            - type: 'null'
          title: Secrets
        secret_references:
          anyOf:
            - items:
                $ref: '#/components/schemas/SecretReference'
              type: array
            - type: 'null'
          title: Secret References
          description: >-
            List of Kubernetes Secret references.<br><br>Only applicable for
            `external_docker` source.
      type: object
      title: DeploymentPatchRequest
      description: >-
        Request body for patching a deployment.<br>

        <br>

        Patching a deployment may trigger a new revision depending on the
        provided `source` configurations.
    Deployment:
      properties:
        name:
          type: string
          title: Name
          description: >-
            Name of the deployment.<br><br>A LangSmith tracing project with the
            same name will also automatically be created. This cannot be changed
            once the deployment is created.
        source:
          type: string
          enum:
            - github
            - external_docker
            - internal_docker
            - internal_source
          title: Source
          description: >-
            Deploy from a GitHub repository (`github`) or an external Docker
            image (`external_docker`).<br><br>Deploying from GitHub is only
            available for Cloud SaaS deployments. Deploying from an external
            Docker image is only available for self-hosted deployments. This
            cannot be changed once the deployment is created.
        source_config:
          $ref: '#/components/schemas/SourceConfig'
        source_revision_config:
          $ref: '#/components/schemas/SourceRevisionConfig'
        secrets:
          items:
            $ref: '#/components/schemas/Secret'
          type: array
          title: Secrets
        secret_references:
          anyOf:
            - items:
                $ref: '#/components/schemas/SecretReference'
              type: array
            - type: 'null'
          title: Secret References
          description: >-
            List of Kubernetes Secret references.<br><br>Only applicable for
            `external_docker` source.
        id:
          type: string
          format: uuid
          title: ID
          description: The ID of the deployment.<br><br>This is a read-only field.
        tenant_id:
          type: string
          format: uuid
          title: Tenant ID
          description: >-
            The ID of the tenant that owns the deployment.<br><br>This is a
            read-only field.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: >-
            The creation time of the deployment.<br><br>This is a read-only
            field.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: >-
            The last update time of the deployment.<br><br>This is a read-only
            field.
        status:
          type: string
          enum:
            - AWAITING_DATABASE
            - READY
            - UNUSED
            - AWAITING_DELETE
            - UNKNOWN
          title: Status
          description: The status of the deployment.<br><br>This is a read-only field.
        latest_revision_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Latest Revision ID
          description: >-
            The ID of the latest revision of the deployment.<br><br>This is a
            read-only field.
        active_revision_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Active Revision ID
          description: >-
            The ID of the current (actively deployed) revision of the
            deployment.<br><br>This is a read-only field.
        image_version:
          anyOf:
            - type: string
            - type: 'null'
          title: Image Version
          description: Image version of the deployment.
      type: object
      required:
        - name
        - source
        - source_config
        - source_revision_config
        - secrets
        - id
        - tenant_id
        - created_at
        - updated_at
        - status
        - latest_revision_id
        - active_revision_id
      title: Deployment
      description: Deployment resource.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SourceConfigRequest:
      properties:
        integration_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Integration ID
          description: >-
            The ID of the integration used for the deployment.<br><br>Retrieve
            this value from the `GET /v1/integrations/github/install` endpoint.
            This cannot be changed (`PATCH`) once the deployment is created.
            Only applicable for `github` source.
        repo_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Repository URL
          description: >-
            The URL of the git repository used for the deployment.<br><br>This
            cannot be changed (`PATCH`) once the deployment is created. Only
            applicable for `github` source.
        deployment_type:
          anyOf:
            - type: string
              enum:
                - dev_free
                - dev
                - prod
            - type: 'null'
          title: Deployment Type
          description: >-
            The type of deployment to create.<br><br>See [Deployment
            Types](https://langchain-ai.github.io/langgraph/concepts/langgraph_control_plane/#deployment-types)
            for more details. This cannot be changed (`PATCH`) once the
            deployment is created. Only applicable for `github` source.
        build_on_push:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Build On Push
          description: >-
            Whether to build a new revision for the deployment on push to the
            `source_revision_config.repo_ref` (e.g. git branch).<br><br>Cannot
            be enabled when `source_revision_config.repo_ref` specifies a tag
            (starts with `refs/tags/`). Tags are immutable and cannot trigger
            automatic builds on push.<br><br>Only applicable for `github`
            source.
        custom_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom URL
          description: >-
            The custom URL of the deployment.<br><br>This field can only be set
            for `external_docker` source deployments. However, it will be set
            automatically for `github` source deployments (read only).
        resource_spec:
          anyOf:
            - $ref: '#/components/schemas/ResourceSpec'
            - type: 'null'
        listener_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Listener ID
          description: >-
            The ID of the listener used for the deployment.<br><br>Retrieve this
            value from the `GET /v2/listeners` endpoint. This cannot be changed
            (`PATCH`) once the deployment is created. Only applicable for
            `external_docker` source.
        listener_config:
          anyOf:
            - $ref: '#/components/schemas/ListenerConfig'
            - type: 'null'
        install_command:
          anyOf:
            - type: string
            - type: 'null'
          title: Install Command
          description: >-
            The custom install command to run for your deployment. This only
            applies to JS deployments. This command will be run from the root of
            your repository - NOT where your langgraph.json file lives (unless
            these are the same place). If not provided, we will autodetect the
            command based on the presence of yarn/npm/etc. files.
        build_command:
          anyOf:
            - type: string
            - type: 'null'
          title: Build Command
          description: >-
            The custom build command to run for your deployment. This only
            applies to JS deployments. This command will be run from where your
            langgraph.json file lives. This is helpful for using shared
            workspaces in your deployments, without having to provide a
            postinstall command or something similar in your package.json.
      type: object
      title: SourceConfigRequest
      description: >-
        Fields for a deployment that are specific to the `source`, but do not
        require a new revision when modified or cannot be modified.<br>

        <br>

        All fields are nullable, but are validated based on the `source`.
    SourceRevisionConfigRequest:
      properties:
        repo_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Repo Ref
          description: >-
            The git ref of the repository used for the
            deployment.<br><br>Supports:<br>- **Branches**: Specify just the
            branch name (e.g., `main`, `develop`)<br>- **Tags**: Specify the
            full ref path (e.g., `refs/tags/v1.0.0`)<br><br>When using a tag,
            `source_config.build_on_push` must be set to `false` since tags are
            immutable.<br><br>When updating a deployment (`PATCH`), setting this
            field to a non-null value will trigger creation of a new revision.
            Only applicable for `github` source.
        langgraph_config_path:
          anyOf:
            - type: string
            - type: 'null'
          title: LangGraph Configuration Path
          description: >-
            The path to the LangGraph configuration file (`langgraph.json`) used
            for the deployment.<br><br>Required on create for buildable sources
            (`github`, `internal_source`). Must be `null` for all other
            sources.<br><br>When updating a deployment (`PATCH`), setting this
            field to a non-null value will trigger creation of a new revision.
        image_uri:
          anyOf:
            - type: string
            - type: 'null'
          title: Image URI
          description: >-
            The URI of the Docker image used for the deployment.<br><br>When
            updating a deployment (`PATCH`), setting this field to a non-null
            value will trigger creation of a new revision. Applicable for
            `external_docker` source.
        source_tarball_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Tarball Path
          description: >-
            The object path of the uploaded source tarball.<br><br>Must be an
            object path obtained from the `POST
            /deployments/{deployment_id}/upload-url` endpoint. Arbitrary paths
            are not accepted.<br><br>When updating a deployment (`PATCH`),
            setting this field to a non-null value will trigger creation of a
            new revision. Only applicable for `internal_source` source.
      type: object
      title: SourceRevisionConfigRequest
      description: >-
        Fields for a deployment that are specific to the `source` and require a
        new revision when modified.<br>

        <br>

        All fields are nullable, but are validated based on the `source`.
    Secret:
      properties:
        name:
          type: string
          title: Name
          description: Name of the secret
        value:
          type: string
          title: Value
          description: Value of the secret
      type: object
      required:
        - name
        - value
      title: Secret
      description: >-
        Secret for a deployment.<br>

        <br>

        Secrets are accessible as environment variables in the deployment's
        container. In addition to user-defined secrets, Agent Server supports
        [pre-defined environment
        variables](https://langchain-ai.github.io/langgraph/cloud/reference/env_var/)
        that can be configured to augment the functionality of a deployment.
        When updating a deployment (`PATCH`), setting this field to a non-null
        value will trigger creation of a new revision.
    SecretReference:
      properties:
        name:
          type: string
          title: Name
          description: Name of the environment variable to populate.
        secret_name:
          type: string
          title: Secret Name
          description: >-
            Name of the Kubernetes Secret that already exists in the same
            namespace as the deployment.
        secret_key:
          type: string
          title: Secret Key
          description: >-
            Key within the Kubernetes Secret whose value should be populated to
            the environment variable.
      type: object
      required:
        - name
        - secret_name
        - secret_key
      title: SecretReference
      description: >-
        Reference to an existing Kubernetes Secret to populate an environment
        variable.
    SourceConfig:
      properties:
        integration_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Integration ID
          description: >-
            The ID of the integration used for the deployment.<br><br>Retrieve
            this value from the `GET /v1/integrations/github/install` endpoint.
            This cannot be changed (`PATCH`) once the deployment is created.
            Only applicable for `github` source.
        repo_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Repository URL
          description: >-
            The URL of the git repository used for the deployment.<br><br>This
            cannot be changed (`PATCH`) once the deployment is created. Only
            applicable for `github` source.
        deployment_type:
          anyOf:
            - type: string
              enum:
                - dev_free
                - dev
                - prod
            - type: 'null'
          title: Deployment Type
          description: >-
            The type of deployment to create.<br><br>See [Deployment
            Types](https://langchain-ai.github.io/langgraph/concepts/langgraph_control_plane/#deployment-types)
            for more details. This cannot be changed (`PATCH`) once the
            deployment is created. Only applicable for `github` source.
        build_on_push:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Build On Push
          description: >-
            Whether to build a new revision for the deployment on push to the
            `source_revision_config.repo_ref` (e.g. git branch).<br><br>Cannot
            be enabled when `source_revision_config.repo_ref` specifies a tag
            (starts with `refs/tags/`). Tags are immutable and cannot trigger
            automatic builds on push.<br><br>Only applicable for `github`
            source.
        custom_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Custom URL
          description: >-
            The custom URL of the deployment.<br><br>This field can only be set
            for `external_docker` source deployments. However, it will be set
            automatically for `github` source deployments (read only).
        resource_spec:
          anyOf:
            - $ref: '#/components/schemas/ResourceSpec'
            - type: 'null'
        listener_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Listener ID
          description: >-
            The ID of the listener used for the deployment.<br><br>Retrieve this
            value from the `GET /v2/listeners` endpoint. This cannot be changed
            (`PATCH`) once the deployment is created. Only applicable for
            `external_docker` source.
        listener_config:
          anyOf:
            - $ref: '#/components/schemas/ListenerConfig'
            - type: 'null'
        install_command:
          anyOf:
            - type: string
            - type: 'null'
          title: Install Command
          description: >-
            The custom install command to run for your deployment. This only
            applies to JS deployments. This command will be run from the root of
            your repository - NOT where your langgraph.json file lives (unless
            these are the same place). If not provided, we will autodetect the
            command based on the presence of yarn/npm/etc. files.
        build_command:
          anyOf:
            - type: string
            - type: 'null'
          title: Build Command
          description: >-
            The custom build command to run for your deployment. This only
            applies to JS deployments. This command will be run from where your
            langgraph.json file lives. This is helpful for using shared
            workspaces in your deployments, without having to provide a
            postinstall command or something similar in your package.json.
      type: object
      title: SourceConfig
      description: Source configuration.
    SourceRevisionConfig:
      properties:
        repo_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Repo Ref
          description: >-
            The git ref of the repository used for the
            deployment.<br><br>Supports:<br>- **Branches**: Specify just the
            branch name (e.g., `main`, `develop`)<br>- **Tags**: Specify the
            full ref path (e.g., `refs/tags/v1.0.0`)<br><br>When using a tag,
            `source_config.build_on_push` must be set to `false` since tags are
            immutable.<br><br>When updating a deployment (`PATCH`), setting this
            field to a non-null value will trigger creation of a new revision.
            Only applicable for `github` source.
        langgraph_config_path:
          anyOf:
            - type: string
            - type: 'null'
          title: LangGraph Configuration Path
          description: >-
            The path to the LangGraph configuration file (`langgraph.json`) used
            for the deployment.<br><br>Required on create for buildable sources
            (`github`, `internal_source`). Must be `null` for all other
            sources.<br><br>When updating a deployment (`PATCH`), setting this
            field to a non-null value will trigger creation of a new revision.
        image_uri:
          anyOf:
            - type: string
            - type: 'null'
          title: Image URI
          description: >-
            The URI of the Docker image used for the deployment.<br><br>When
            updating a deployment (`PATCH`), setting this field to a non-null
            value will trigger creation of a new revision. Applicable for
            `external_docker` source.
        source_tarball_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Tarball Path
          description: >-
            The object path of the uploaded source tarball.<br><br>Must be an
            object path obtained from the `POST
            /deployments/{deployment_id}/upload-url` endpoint. Arbitrary paths
            are not accepted.<br><br>When updating a deployment (`PATCH`),
            setting this field to a non-null value will trigger creation of a
            new revision. Only applicable for `internal_source` source.
        repo_commit_sha:
          anyOf:
            - type: string
            - type: 'null'
          title: Repo commit SHA
          description: >-
            The commit SHA of the git repository used for the
            deployment.<br><br>This is a read-only field. Only applicable for
            `github` source.
      type: object
      title: SourceRevisionConfig
      description: >-
        Source revision configuration.<br>

        <br>

        For a `Deployment` resource, the field values refer to the latest
        revision of the `Deployment`. For a `Revision` resource, the field
        values refer to the `Revision` itself.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ResourceSpec:
      properties:
        min_scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Min Scale
          description: The minimum scale (number of replicas) of the deployment.
        max_scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Scale
          description: The maximum scale (number of replicas) of the deployment.
        cpu:
          anyOf:
            - type: number
              maximum: 8
              minimum: 0.1
            - type: 'null'
          title: CPU
          description: >-
            CPU request in cores for a single replica of the deployment.
            Supports fractional values (e.g. 0.5 for 500m). Values are rounded
            to 1 decimal place. If cpu_limit is not set, limit defaults to 2x
            this value.
          examples:
            - 0.1
            - 0.5
            - 1
            - 2
            - 4
        cpu_limit:
          anyOf:
            - type: number
              maximum: 16
              minimum: 0.1
            - type: 'null'
          title: CPU Limit
          description: >-
            CPU limit in cores for a single replica of the deployment. Supports
            fractional values (e.g. 0.5 for 500m). Values are rounded to 1
            decimal place. If not set, defaults to 2x cpu.
          examples:
            - 0.2
            - 1
            - 2
            - 4
            - 8
            - 16
        memory_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Memory (MB)
          description: >-
            Memory request (MB) of a single replica of the deployment. If
            memory_limit_mb is not set, limit defaults to 2x this value.
        memory_limit_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Memory Limit (MB)
          description: >-
            Memory limit (MB) of a single replica of the deployment. If not set,
            defaults to 2x memory_mb.
        queue_min_scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Queue Min Scale
          description: >-
            The minimum scale (number of replicas) of the queue deployment. If
            not provided, defaults to the same value as `min_scale`.
        queue_max_scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Queue Max Scale
          description: >-
            The maximum scale (number of replicas) of the queue deployment. If
            not provided, defaults to the same value as `max_scale`.
        queue_cpu:
          anyOf:
            - type: number
              maximum: 8
              minimum: 0.1
            - type: 'null'
          title: Queue CPU
          description: >-
            CPU request in cores for a single replica of the queue deployment.
            Supports fractional values (e.g. 0.5 for 500m). Values are rounded
            to 1 decimal place. If not provided, defaults to the same value as
            `cpu`. If queue_cpu_limit is not set, limit defaults to 2x this
            value.
          examples:
            - 0.1
            - 0.5
            - 1
            - 2
        queue_cpu_limit:
          anyOf:
            - type: number
              maximum: 16
              minimum: 0.1
            - type: 'null'
          title: Queue CPU Limit
          description: >-
            CPU limit in cores for a single replica of the queue deployment.
            Supports fractional values (e.g. 0.5 for 500m). Values are rounded
            to 1 decimal place. If not set, defaults to 2x queue_cpu.
          examples:
            - 0.2
            - 1
            - 2
            - 4
            - 8
        queue_memory_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Queue Memory (MB)
          description: >-
            Memory request (MB) of a single replica of the queue deployment. If
            not provided, defaults to the same value as `memory_mb`. If
            queue_memory_limit_mb is not set, limit defaults to 2x this value.
        queue_memory_limit_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Queue Memory Limit (MB)
          description: >-
            Memory limit (MB) of a single replica of the queue deployment. If
            not set, defaults to 2x queue_memory_mb.
        orchestrator_cpu:
          anyOf:
            - type: number
            - type: 'null'
          title: Orchestrator CPU
          description: do not use
        orchestrator_cpu_limit:
          anyOf:
            - type: number
            - type: 'null'
          title: Orchestrator CPU Limit
          description: do not use
        orchestrator_memory_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Orchestrator Memory (MB)
          description: do not use
        orchestrator_memory_limit_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Orchestrator Memory Limit (MB)
          description: do not use
        orchestrator_min_scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Orchestrator Min Scale
          description: do not use
        orchestrator_max_scale:
          anyOf:
            - type: integer
            - type: 'null'
          title: Orchestrator Max Scale
          description: do not use
        executor_cpu:
          anyOf:
            - type: number
            - type: 'null'
          title: Executor CPU
          description: do not use
        executor_cpu_limit:
          anyOf:
            - type: number
            - type: 'null'
          title: Executor CPU Limit
          description: do not use
        executor_memory_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Executor Memory (MB)
          description: do not use
        executor_memory_limit_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Executor Memory Limit (MB)
          description: do not use
        redis_cpu:
          anyOf:
            - type: number
              maximum: 8
              minimum: 0.1
            - type: 'null'
          title: Redis CPU
          description: >-
            CPU request in cores for the Redis deployment. Supports fractional
            values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place.
            If redis_cpu_limit is not set, limit defaults to 2x this value.
          examples:
            - 0.1
            - 0.5
            - 1
            - 2
        redis_cpu_limit:
          anyOf:
            - type: number
              maximum: 16
              minimum: 0.1
            - type: 'null'
          title: Redis CPU Limit
          description: >-
            CPU limit in cores for the Redis deployment. Supports fractional
            values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place.
            If not set, defaults to 2x redis_cpu.
          examples:
            - 0.2
            - 1
            - 2
            - 4
            - 8
        redis_memory_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Redis Memory Mb
          description: >-
            Memory request (MB) of the Redis deployment. If
            redis_memory_limit_mb is not set, limit defaults to this value.
        redis_memory_limit_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Redis Memory Limit (MB)
          description: >-
            Memory limit (MB) of the Redis deployment. If not set, defaults to
            redis_memory_mb.
        labels:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Labels
          description: Additional labels to apply to resources created for the deployment.
        annotations:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Annotations
          description: >-
            Additional annotations to apply to resources created for the
            deployment.
        service_account_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Service Account Name
          description: >-
            The name of the service account to use for the
            deployment.<br><br>This must already exist in the Kubernetes
            namespace where the deployment will be deployed to.
        image_pull_secrets:
          anyOf:
            - items:
                $ref: '#/components/schemas/LocalObjectReference'
              type: array
            - type: 'null'
          title: Image Pull Secrets
          description: >-
            List of references to secrets in the same namespace to use for
            pulling container images. Each entry is a LocalObjectReference to a
            Secret of type kubernetes.io/dockerconfigjson.
        volumes:
          anyOf:
            - items:
                $ref: '#/components/schemas/Volume'
              type: array
            - type: 'null'
          title: Volumes
          description: >-
            List of volumes that can be mounted by containers belonging to the
            pod. Reference the kubernetes documentation for more details on how
            to configure volumes.
        volume_mounts:
          anyOf:
            - items:
                $ref: '#/components/schemas/VolumeMount'
              type: array
            - type: 'null'
          title: Volume Mounts
          description: >-
            Pod volumes to mount into the container's filesystem. Reference the
            kubernetes documentation for more details on how to configure volume
            mounts.
        init_containers:
          anyOf:
            - items:
                $ref: '#/components/schemas/Container'
              type: array
            - type: 'null'
          title: Init Containers
          description: >-
            List of initialization containers belonging to the pod. Init
            containers are set as initContainers in the pod spec and run to
            completion before the main application container starts.
        sidecars:
          anyOf:
            - items:
                $ref: '#/components/schemas/Container'
              type: array
            - type: 'null'
          title: Sidecars
          description: >-
            List of sidecar containers that run alongside the main application
            container. These will be added to the pod spec as additional
            containers.
        db_cpu:
          anyOf:
            - type: number
            - type: 'null'
          title: Database CPU
          description: >-
            CPU request of the Postgres database deployment. If db_cpu_limit is
            not set, limit defaults to 2x this value.
        db_cpu_limit:
          anyOf:
            - type: number
            - type: 'null'
          title: Database CPU Limit
          description: >-
            CPU limit of the Postgres database deployment. If not set, defaults
            to 2x db_cpu.
        db_memory_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Database Memory (MB)
          description: >-
            Memory request (MB) of the Postgres database deployment. If
            db_memory_limit_mb is not set, limit defaults to 2x this value.
        db_memory_limit_mb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Database Memory Limit (MB)
          description: >-
            Memory limit (MB) of the Postgres database deployment. If not set,
            defaults to 2x db_memory_mb.
        db_storage_gi:
          anyOf:
            - type: integer
            - type: 'null'
          title: Database Storage (GiB)
          description: Storage (GiB) of the Postgres database deployment.
        db_max_connections:
          anyOf:
            - type: integer
            - type: 'null'
          title: Database Max Connections
          description: Maximum number of connections allowed to the Postgres database.
      type: object
      title: ResourceSpec
      description: >-
        Resource specification for the deployment.<br>

        <br>

        When updating a deployment (`PATCH`), setting this field to a non-null
        value will trigger creation of a new revision and overwrite the existing
        resource_spec for the deployment. Only applicable for `external_docker`
        source.
    ListenerConfig:
      properties:
        k8s_namespace:
          anyOf:
            - type: string
            - type: 'null'
          title: K8S Namespace
          description: >-
            Kubernetes namespace where the deployment will be deployed
            to.<br><br>This cannot be changed (`PATCH`) once the deployment is
            created. Only applicable for deployments of listeners with `k8s`
            compute type.
      type: object
      title: ListenerConfig
      description: >-
        Listener configuration for the deployment.<br>

        <br>

        All fields are nullable, but are validated based on `compute_type` of
        the listener ID. Only applicable for `external_docker` source.
    LocalObjectReference:
      properties:
        name:
          type: string
          title: Name
          description: Name of the referent (e.g., name of a Secret for imagePullSecrets).
      type: object
      required:
        - name
      title: LocalObjectReference
      description: Reference to an object in the same namespace.
    Volume:
      properties:
        name:
          type: string
          title: Name
          description: Volume's name. Must be a DNS_LABEL and unique within the pod.
        configMap:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Configmap
          description: ConfigMap represents a configMap that should populate this volume.
        secret:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Secret
          description: Secret represents a secret that should populate this volume.
        emptyDir:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Emptydir
          description: >-
            EmptyDir represents a temporary directory that shares a pod's
            lifetime.
        persistentVolumeClaim:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Persistentvolumeclaim
          description: >-
            PersistentVolumeClaim represents a reference to a
            PersistentVolumeClaim.
        nfs:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Nfs
          description: >-
            NFS represents an NFS mount on the host that shares a pod's
            lifetime.
        projected:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Projected
          description: >-
            Projected represents a volume that projects several volume sources
            into the same directory.
        downwardAPI:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Downwardapi
          description: >-
            DownwardAPI represents downward API about the pod that should
            populate this volume.
        csi:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Csi
          description: >-
            CSI represents a volume that should be handled by an external CSI
            driver.
      type: object
      title: Volume
      description: Kubernetes Volume specification.
    VolumeMount:
      properties:
        name:
          type: string
          title: Name
          description: This must match the Name of a Volume.
        mountPath:
          type: string
          title: Mountpath
          description: Path within the container at which the volume should be mounted.
        subPath:
          anyOf:
            - type: string
            - type: 'null'
          title: Subpath
          description: >-
            Path within the volume from which the container's volume should be
            mounted.
        mountPropagation:
          anyOf:
            - type: string
            - type: 'null'
          title: Mountpropagation
          description: >-
            Determines how mounts are propagated from the host to container and
            the other way around.
        readOnly:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Readonly
          description: Mounted read-only if true, read-write otherwise.
        subPathExpr:
          anyOf:
            - type: string
            - type: 'null'
          title: Subpathexpr
          description: >-
            Expanded path within the volume from which the container's volume
            should be mounted.
      type: object
      title: VolumeMount
      description: Kubernetes VolumeMount specification.
    Container:
      properties:
        name:
          type: string
          title: Name
          description: Name of the container. Must be a DNS_LABEL.
        image:
          type: string
          title: Image
          description: Container image name.
        imagePullPolicy:
          anyOf:
            - type: string
            - type: 'null'
          title: Imagepullpolicy
          description: Image pull policy. One of Always, Never, IfNotPresent.
        command:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Command
          description: Entrypoint array. Not executed within a shell.
        args:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Args
          description: Arguments to the entrypoint.
        workingDir:
          anyOf:
            - type: string
            - type: 'null'
          title: Workingdir
          description: Container's working directory.
        env:
          anyOf:
            - items:
                $ref: '#/components/schemas/EnvVar'
              type: array
            - type: 'null'
          title: Env
          description: List of environment variables to set in the container.
        envFrom:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Envfrom
          description: List of sources to populate environment variables in the container.
        resources:
          anyOf:
            - $ref: '#/components/schemas/ResourceRequirements'
            - type: 'null'
          description: Compute resource requirements.
        volumeMounts:
          anyOf:
            - items:
                $ref: '#/components/schemas/VolumeMount'
              type: array
            - type: 'null'
          title: Volumemounts
          description: Pod volumes to mount into the container's filesystem.
        securityContext:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Securitycontext
          description: Security options the pod should run with.
        restartPolicy:
          anyOf:
            - type: string
            - type: 'null'
          title: Restartpolicy
          description: >-
            RestartPolicy for the container (for sidecar containers). One of
            Always, OnFailure.
      type: object
      required:
        - name
        - image
      title: Container
      description: Container specification for init and sidecar containers.
    EnvVar:
      properties:
        name:
          type: string
          title: Name
          description: Name of the environment variable. Must be a C_IDENTIFIER.
        value:
          anyOf:
            - type: string
            - type: 'null'
          title: Value
          description: Variable value. Defaults to empty string.
        valueFrom:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Valuefrom
          description: >-
            Source for the environment variable's value. Cannot be used if value
            is not empty.
      type: object
      required:
        - name
      title: EnvVar
      description: Environment variable for a container.
    ResourceRequirements:
      properties:
        limits:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Limits
          description: Limits describes the maximum amount of compute resources allowed.
        requests:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Requests
          description: Requests describes the minimum amount of compute resources required.
      type: object
      title: ResourceRequirements
      description: Compute resource requirements.

````