Red Hat OpenShift Deployment Configs API

DeploymentConfig resources for OpenShift-native deployment management

OpenAPI Specification

red-hat-openshift-deployment-configs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Red Hat OpenShift Container Platform Add-ons Deployment Configs API
  description: The OpenShift Container Platform REST API extends the Kubernetes API with OpenShift-specific resources for builds, image streams, routes, deployment configs, and project management. The API is organized into groups served at /apis/{group}/{version}. All operations require authentication via Bearer token obtained from the OAuth server. This specification covers the core OpenShift-specific API groups including apps.openshift.io, build.openshift.io, image.openshift.io, route.openshift.io, project.openshift.io, and security.openshift.io.
  version: '4.0'
  contact:
    name: Red Hat OpenShift Support
    url: https://access.redhat.com/support
  termsOfService: https://www.redhat.com/en/about/agreements
servers:
- url: https://api.{cluster}:6443
  description: OpenShift API Server
  variables:
    cluster:
      default: cluster.example.com
      description: OpenShift cluster API hostname
security:
- bearerAuth: []
tags:
- name: Deployment Configs
  description: DeploymentConfig resources for OpenShift-native deployment management
paths:
  /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs:
    get:
      operationId: listDeploymentConfigs
      summary: List Deployment Configs
      description: Returns a list of DeploymentConfigs in the namespace. DeploymentConfigs are OpenShift's extended deployment resource with triggers, hooks, and lifecycle management.
      tags:
      - Deployment Configs
      parameters:
      - $ref: '#/components/parameters/namespace'
      - $ref: '#/components/parameters/labelSelector'
      responses:
        '200':
          description: List of deployment configs returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentConfigList'
    post:
      operationId: createDeploymentConfig
      summary: Create Deployment Config
      description: Creates a new DeploymentConfig in the specified namespace.
      tags:
      - Deployment Configs
      parameters:
      - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentConfig'
      responses:
        '201':
          description: DeploymentConfig created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentConfig'
components:
  schemas:
    DeploymentConfigList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/DeploymentConfig'
    ObjectMeta:
      type: object
      properties:
        name:
          type: string
        namespace:
          type: string
        uid:
          type: string
        resourceVersion:
          type: string
        creationTimestamp:
          type: string
          format: date-time
        labels:
          type: object
          additionalProperties:
            type: string
        annotations:
          type: object
          additionalProperties:
            type: string
    DeploymentConfig:
      type: object
      properties:
        apiVersion:
          type: string
          default: apps.openshift.io/v1
        kind:
          type: string
          default: DeploymentConfig
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          type: object
          properties:
            replicas:
              type: integer
            selector:
              type: object
            template:
              type: object
            triggers:
              type: array
              items:
                type: object
        status:
          type: object
          properties:
            replicas:
              type: integer
            readyReplicas:
              type: integer
            availableReplicas:
              type: integer
  parameters:
    labelSelector:
      name: labelSelector
      in: query
      description: Label selector to filter resources (e.g., app=myapp)
      schema:
        type: string
    namespace:
      name: namespace
      in: path
      required: true
      description: Kubernetes namespace
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: OpenShift Container Platform API Reference
  url: https://docs.openshift.com/container-platform/latest/rest_api/index.html