{
  "description": "DeploymentSpec is the specification of the desired behavior of the Deployment.",
  "properties": {
    "minReadySeconds": {
      "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "paused": {
      "description": "Indicates that the deployment is paused.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "progressDeadlineSeconds": {
      "description": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "replicas": {
      "description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "revisionHistoryLimit": {
      "description": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "selector": {
      "$ref": "/api/_definitions.json#/$defs/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
      "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels."
    },
    "strategy": {
      "$ref": "/api/_definitions.json#/$defs/io.k8s.api.apps.v1.DeploymentStrategy",
      "description": "The deployment strategy to use to replace existing pods with new ones.",
      "x-kubernetes-patch-strategy": "retainKeys"
    },
    "template": {
      "$ref": "/api/_definitions.json#/$defs/io.k8s.api.core.v1.PodTemplateSpec",
      "description": "Template describes the pods that will be created. The only allowed template.spec.restartPolicy value is \"Always\"."
    }
  },
  "required": [
    "selector",
    "template"
  ],
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "$id": "https://kubernetes.io/api/deploymentspec/apps/v1"
}