diff --git a/class_generator/schema/_definitions.json b/class_generator/schema/_definitions.json index 3209827d35..a66ba7b8f2 100644 --- a/class_generator/schema/_definitions.json +++ b/class_generator/schema/_definitions.json @@ -1,5241 +1,1803 @@ { "definitions": { - "aaq.kubevirt.io/v1alpha1/AAQ": { - "description": "AAQ is the AAQ Operator CRD", - "namespaced": false, + "com.github.openshift.api.apps.v1.CustomDeploymentStrategyParams": { + "description": "CustomDeploymentStrategyParams are the input to the Custom deployment strategy.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "command": { + "description": "Command is optional and overrides CMD in the container Image.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "environment": { + "description": "Environment holds the environment which will be given to the container for Image.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" + } + ], + "default": {} + }, + "type": "array" }, - "metadata": { + "image": { + "description": "Image specifies a container image which can carry out a deployment.", + "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.apps.v1.DeploymentCause": { + "description": "DeploymentCause captures information about a particular cause of a deployment.", + "properties": { + "imageTrigger": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentCauseImageTrigger" } ], - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "description": "AAQSpec defines our specification for the AAQ installation", - "properties": { - "certConfig": { - "description": "certificate configuration", - "properties": { - "ca": { - "description": "CA configuration\nCA certs are kept in the CA bundle as long as they are valid", - "properties": { - "duration": { - "description": "The requested 'duration' (i.e. lifetime) of the Certificate.", - "type": "string" - }, - "renewBefore": { - "description": "The amount of time before the currently issued certificate's `notAfter`\ntime that we will begin to attempt to renew the certificate.", - "type": "string" - } - }, - "type": "object" - }, - "server": { - "description": "Server configuration\nCerts are rotated and discarded", - "properties": { - "duration": { - "description": "The requested 'duration' (i.e. lifetime) of the Certificate.", - "type": "string" - }, - "renewBefore": { - "description": "The amount of time before the currently issued certificate's `notAfter`\ntime that we will begin to attempt to renew the certificate.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "configuration": { - "description": "holds aaq configurations.", - "properties": { - "allowApplicationAwareClusterResourceQuota": { - "description": "AllowApplicationAwareClusterResourceQuota can be set to true to allow creation and management\nof ApplicationAwareClusterResourceQuota. Defaults to false", - "type": "boolean" - }, - "sidecarEvaluators": { - "description": "SidecarEvaluators allow custom quota counting for external operator", - "items": { - "description": "A single application container that you want to run within a pod.", - "properties": { - "args": { - "description": "Arguments to the entrypoint.\nThe container image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "command": { - "description": "Entrypoint array. Not executed within a shell.\nThe container image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "env": { - "description": "List of environment variables to set in the container.\nCannot be updated.", - "items": { - "description": "EnvVar represents an environment variable present in a Container.", - "properties": { - "name": { - "description": "Name of the environment variable. Must be a C_IDENTIFIER.", - "type": "string" - }, - "value": { - "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".", - "type": "string" - }, - "valueFrom": { - "description": "Source for the environment variable's value. Cannot be used if value is not empty.", - "properties": { - "configMapKeyRef": { - "description": "Selects a key of a ConfigMap.", - "properties": { - "key": { - "description": "The key to select.", - "type": "string" - }, - "name": { - "default": "", - "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nTODO: Add other useful fields. apiVersion, kind, uid?\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", - "type": "string" - }, - "optional": { - "description": "Specify whether the ConfigMap or its key must be defined", - "type": "boolean" - } - }, - "required": [ - "key" - ], - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "fieldRef": { - "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - "properties": { - "apiVersion": { - "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".", - "type": "string" - }, - "fieldPath": { - "description": "Path of the field to select in the specified API version.", - "type": "string" - } - }, - "required": [ - "fieldPath" - ], - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "resourceFieldRef": { - "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - "properties": { - "containerName": { - "description": "Container name: required for volumes, optional for env vars", - "type": "string" - }, - "divisor": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Specifies the output format of the exposed resources, defaults to \"1\"", - "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", - "x-kubernetes-int-or-string": true - }, - "resource": { - "description": "Required: resource to select", - "type": "string" - } - }, - "required": [ - "resource" - ], - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "secretKeyRef": { - "description": "Selects a key of a secret in the pod's namespace", - "properties": { - "key": { - "description": "The key of the secret to select from. Must be a valid secret key.", - "type": "string" - }, - "name": { - "default": "", - "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nTODO: Add other useful fields. apiVersion, kind, uid?\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", - "type": "string" - }, - "optional": { - "description": "Specify whether the Secret or its key must be defined", - "type": "boolean" - } - }, - "required": [ - "key" - ], - "type": "object", - "x-kubernetes-map-type": "atomic" - } - }, - "type": "object" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map" - }, - "envFrom": { - "description": "List of sources to populate environment variables in the container.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated.", - "items": { - "description": "EnvFromSource represents the source of a set of ConfigMaps", - "properties": { - "configMapRef": { - "description": "The ConfigMap to select from", - "properties": { - "name": { - "default": "", - "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nTODO: Add other useful fields. apiVersion, kind, uid?\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", - "type": "string" - }, - "optional": { - "description": "Specify whether the ConfigMap must be defined", - "type": "boolean" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "prefix": { - "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", - "type": "string" - }, - "secretRef": { - "description": "The Secret to select from", - "properties": { - "name": { - "default": "", - "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nTODO: Add other useful fields. apiVersion, kind, uid?\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", - "type": "string" - }, - "optional": { - "description": "Specify whether the Secret must be defined", - "type": "boolean" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - } - }, - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "image": { - "description": "Container image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images\nThis field is optional to allow higher level config management to default or override\ncontainer images in workload controllers like Deployments and StatefulSets.", - "type": "string" - }, - "imagePullPolicy": { - "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images", - "type": "string" - }, - "lifecycle": { - "description": "Actions that the management system should take in response to container lifecycle events.\nCannot be updated.", - "properties": { - "postStart": { - "description": "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks", - "properties": { - "exec": { - "description": "Exec specifies the action to take.", - "properties": { - "command": { - "description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "httpGet": { - "description": "HTTPGet specifies the http request to perform.", - "properties": { - "host": { - "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.", - "type": "string" - }, - "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers.", - "items": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", - "properties": { - "name": { - "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.", - "type": "string" - }, - "value": { - "description": "The header field value", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "path": { - "description": "Path to access on the HTTP server.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - }, - "scheme": { - "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "sleep": { - "description": "Sleep represents the duration that the container should sleep before being terminated.", - "properties": { - "seconds": { - "description": "Seconds is the number of seconds to sleep.", - "format": "int64", - "type": "integer" - } - }, - "required": [ - "seconds" - ], - "type": "object" - }, - "tcpSocket": { - "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified.", - "properties": { - "host": { - "description": "Optional: Host name to connect to, defaults to the pod IP.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - } - }, - "required": [ - "port" - ], - "type": "object" - } - }, - "type": "object" - }, - "preStop": { - "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks", - "properties": { - "exec": { - "description": "Exec specifies the action to take.", - "properties": { - "command": { - "description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "httpGet": { - "description": "HTTPGet specifies the http request to perform.", - "properties": { - "host": { - "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.", - "type": "string" - }, - "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers.", - "items": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", - "properties": { - "name": { - "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.", - "type": "string" - }, - "value": { - "description": "The header field value", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "path": { - "description": "Path to access on the HTTP server.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - }, - "scheme": { - "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "sleep": { - "description": "Sleep represents the duration that the container should sleep before being terminated.", - "properties": { - "seconds": { - "description": "Seconds is the number of seconds to sleep.", - "format": "int64", - "type": "integer" - } - }, - "required": [ - "seconds" - ], - "type": "object" - }, - "tcpSocket": { - "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified.", - "properties": { - "host": { - "description": "Optional: Host name to connect to, defaults to the pod IP.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - } - }, - "required": [ - "port" - ], - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "livenessProbe": { - "description": "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "properties": { - "exec": { - "description": "Exec specifies the action to take.", - "properties": { - "command": { - "description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "failureThreshold": { - "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "grpc": { - "description": "GRPC specifies an action involving a GRPC port.", - "properties": { - "port": { - "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", - "format": "int32", - "type": "integer" - }, - "service": { - "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "httpGet": { - "description": "HTTPGet specifies the http request to perform.", - "properties": { - "host": { - "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.", - "type": "string" - }, - "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers.", - "items": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", - "properties": { - "name": { - "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.", - "type": "string" - }, - "value": { - "description": "The header field value", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "path": { - "description": "Path to access on the HTTP server.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - }, - "scheme": { - "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "initialDelaySeconds": { - "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "format": "int32", - "type": "integer" - }, - "periodSeconds": { - "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "successThreshold": { - "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "tcpSocket": { - "description": "TCPSocket specifies an action involving a TCP port.", - "properties": { - "host": { - "description": "Optional: Host name to connect to, defaults to the pod IP.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "terminationGracePeriodSeconds": { - "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.", - "format": "int64", - "type": "integer" - }, - "timeoutSeconds": { - "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "name": { - "description": "Name of the container specified as a DNS_LABEL.\nEach container in a pod must have a unique name (DNS_LABEL).\nCannot be updated.", - "type": "string" - }, - "ports": { - "description": "List of ports to expose from the container. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nModifying this array with strategic merge patch may corrupt the data.\nFor more information See https://github.com/kubernetes/kubernetes/issues/108255.\nCannot be updated.", - "items": { - "description": "ContainerPort represents a network port in a single container.", - "properties": { - "containerPort": { - "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536.", - "format": "int32", - "type": "integer" - }, - "hostIP": { - "description": "What host IP to bind the external port to.", - "type": "string" - }, - "hostPort": { - "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 < x < 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this.", - "format": "int32", - "type": "integer" - }, - "name": { - "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services.", - "type": "string" - }, - "protocol": { - "default": "TCP", - "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".", - "type": "string" - } - }, - "required": [ - "containerPort" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "containerPort", - "protocol" - ], - "x-kubernetes-list-type": "map" - }, - "readinessProbe": { - "description": "Periodic probe of container service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "properties": { - "exec": { - "description": "Exec specifies the action to take.", - "properties": { - "command": { - "description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "failureThreshold": { - "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "grpc": { - "description": "GRPC specifies an action involving a GRPC port.", - "properties": { - "port": { - "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", - "format": "int32", - "type": "integer" - }, - "service": { - "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "httpGet": { - "description": "HTTPGet specifies the http request to perform.", - "properties": { - "host": { - "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.", - "type": "string" - }, - "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers.", - "items": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", - "properties": { - "name": { - "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.", - "type": "string" - }, - "value": { - "description": "The header field value", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "path": { - "description": "Path to access on the HTTP server.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - }, - "scheme": { - "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "initialDelaySeconds": { - "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "format": "int32", - "type": "integer" - }, - "periodSeconds": { - "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "successThreshold": { - "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "tcpSocket": { - "description": "TCPSocket specifies an action involving a TCP port.", - "properties": { - "host": { - "description": "Optional: Host name to connect to, defaults to the pod IP.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "terminationGracePeriodSeconds": { - "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.", - "format": "int64", - "type": "integer" - }, - "timeoutSeconds": { - "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "resizePolicy": { - "description": "Resources resize policy for the container.", - "items": { - "description": "ContainerResizePolicy represents resource resize policy for the container.", - "properties": { - "resourceName": { - "description": "Name of the resource to which this resource resize policy applies.\nSupported values: cpu, memory.", - "type": "string" - }, - "restartPolicy": { - "description": "Restart policy to apply when specified resource is resized.\nIf not specified, it defaults to NotRequired.", - "type": "string" - } - }, - "required": [ - "resourceName", - "restartPolicy" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "resources": { - "description": "Compute Resources required by this container.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - "properties": { - "claims": { - "description": "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers.", - "items": { - "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.", - "properties": { - "name": { - "description": "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map" - }, - "limits": { - "additionalProperties": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", - "x-kubernetes-int-or-string": true - }, - "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - "type": "object" - }, - "requests": { - "additionalProperties": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", - "x-kubernetes-int-or-string": true - }, - "description": "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - "type": "object" - } - }, - "type": "object" - }, - "restartPolicy": { - "description": "RestartPolicy defines the restart behavior of individual containers in a pod.\nThis field may only be set for init containers, and the only allowed value is \"Always\".\nFor non-init containers or when this field is not specified,\nthe restart behavior is defined by the Pod's restart policy and the container type.\nSetting the RestartPolicy as \"Always\" for the init container will have the following effect:\nthis init container will be continually restarted on\nexit until all regular containers have terminated. Once all regular\ncontainers have completed, all init containers with restartPolicy \"Always\"\nwill be shut down. This lifecycle differs from normal init containers and\nis often referred to as a \"sidecar\" container. Although this init\ncontainer still starts in the init container sequence, it does not wait\nfor the container to complete before proceeding to the next init\ncontainer. Instead, the next init container starts immediately after this\ninit container is started, or after any startupProbe has successfully\ncompleted.", - "type": "string" - }, - "securityContext": { - "description": "SecurityContext defines the security options the container should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/", - "properties": { - "allowPrivilegeEscalation": { - "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows.", - "type": "boolean" - }, - "appArmorProfile": { - "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile\noverrides the pod's appArmorProfile.\nNote that this field cannot be set when spec.os.name is windows.", - "properties": { - "localhostProfile": { - "description": "localhostProfile indicates a profile loaded on the node that should be used.\nThe profile must be preconfigured on the node to work.\nMust match the loaded name of the profile.\nMust be set if and only if type is \"Localhost\".", - "type": "string" - }, - "type": { - "description": "type indicates which kind of AppArmor profile will be applied.\nValid options are:\n Localhost - a profile pre-loaded on the node.\n RuntimeDefault - the container runtime's default profile.\n Unconfined - no AppArmor enforcement.", - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "capabilities": { - "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows.", - "properties": { - "add": { - "description": "Added capabilities", - "items": { - "description": "Capability represent POSIX capabilities type", - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "drop": { - "description": "Removed capabilities", - "items": { - "description": "Capability represent POSIX capabilities type", - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "privileged": { - "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows.", - "type": "boolean" - }, - "procMount": { - "description": "procMount denotes the type of proc mount to use for the containers.\nThe default is DefaultProcMount which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows.", - "type": "string" - }, - "readOnlyRootFilesystem": { - "description": "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows.", - "type": "boolean" - }, - "runAsGroup": { - "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.", - "format": "int64", - "type": "integer" - }, - "runAsNonRoot": { - "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.", - "type": "boolean" - }, - "runAsUser": { - "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.", - "format": "int64", - "type": "integer" - }, - "seLinuxOptions": { - "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer. May also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows.", - "properties": { - "level": { - "description": "Level is SELinux level label that applies to the container.", - "type": "string" - }, - "role": { - "description": "Role is a SELinux role label that applies to the container.", - "type": "string" - }, - "type": { - "description": "Type is a SELinux type label that applies to the container.", - "type": "string" - }, - "user": { - "description": "User is a SELinux user label that applies to the container.", - "type": "string" - } - }, - "type": "object" - }, - "seccompProfile": { - "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod & container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows.", - "properties": { - "localhostProfile": { - "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type.", - "type": "string" - }, - "type": { - "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.", - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "windowsOptions": { - "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux.", - "properties": { - "gmsaCredentialSpec": { - "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.", - "type": "string" - }, - "gmsaCredentialSpecName": { - "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.", - "type": "string" - }, - "hostProcess": { - "description": "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true.", - "type": "boolean" - }, - "runAsUserName": { - "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "startupProbe": { - "description": "StartupProbe indicates that the Pod has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "properties": { - "exec": { - "description": "Exec specifies the action to take.", - "properties": { - "command": { - "description": "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "failureThreshold": { - "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "grpc": { - "description": "GRPC specifies an action involving a GRPC port.", - "properties": { - "port": { - "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", - "format": "int32", - "type": "integer" - }, - "service": { - "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "httpGet": { - "description": "HTTPGet specifies the http request to perform.", - "properties": { - "host": { - "description": "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead.", - "type": "string" - }, - "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers.", - "items": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", - "properties": { - "name": { - "description": "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header.", - "type": "string" - }, - "value": { - "description": "The header field value", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "path": { - "description": "Path to access on the HTTP server.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - }, - "scheme": { - "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.", - "type": "string" - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "initialDelaySeconds": { - "description": "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "format": "int32", - "type": "integer" - }, - "periodSeconds": { - "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "successThreshold": { - "description": "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1.", - "format": "int32", - "type": "integer" - }, - "tcpSocket": { - "description": "TCPSocket specifies an action involving a TCP port.", - "properties": { - "host": { - "description": "Optional: Host name to connect to, defaults to the pod IP.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME.", - "x-kubernetes-int-or-string": true - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "terminationGracePeriodSeconds": { - "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset.", - "format": "int64", - "type": "integer" - }, - "timeoutSeconds": { - "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "stdin": { - "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the container will always result in EOF.\nDefault is false.", - "type": "boolean" - }, - "stdinOnce": { - "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the container is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false", - "type": "boolean" - }, - "terminationMessagePath": { - "description": "Optional: Path at which the file to which the container's termination message\nwill be written is mounted into the container's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated.", - "type": "string" - }, - "terminationMessagePolicy": { - "description": "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the container status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of container log output if the termination\nmessage file is empty and the container exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated.", - "type": "string" - }, - "tty": { - "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.\nDefault is false.", - "type": "boolean" - }, - "volumeDevices": { - "description": "volumeDevices is the list of block devices to be used by the container.", - "items": { - "description": "volumeDevice describes a mapping of a raw block device within a container.", - "properties": { - "devicePath": { - "description": "devicePath is the path inside of the container that the device will be mapped to.", - "type": "string" - }, - "name": { - "description": "name must match the name of a persistentVolumeClaim in the pod", - "type": "string" - } - }, - "required": [ - "devicePath", - "name" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "devicePath" - ], - "x-kubernetes-list-type": "map" - }, - "volumeMounts": { - "description": "Pod volumes to mount into the container's filesystem.\nCannot be updated.", - "items": { - "description": "VolumeMount describes a mounting of a Volume within a container.", - "properties": { - "mountPath": { - "description": "Path within the container at which the volume should be mounted. Must\nnot contain ':'.", - "type": "string" - }, - "mountPropagation": { - "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\nWhen RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified\n(which defaults to None).", - "type": "string" - }, - "name": { - "description": "This must match the Name of a Volume.", - "type": "string" - }, - "readOnly": { - "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.", - "type": "boolean" - }, - "recursiveReadOnly": { - "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.\n\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made\nrecursively read-only. If this field is set to IfPossible, the mount is made\nrecursively read-only, if it is supported by the container runtime. If this\nfield is set to Enabled, the mount is made recursively read-only if it is\nsupported by the container runtime, otherwise the pod will not be started and\nan error will be generated to indicate the reason.\n\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to\nNone (or be unspecified, which defaults to None).\n\n\nIf this field is not specified, it is treated as an equivalent of Disabled.", - "type": "string" - }, - "subPath": { - "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).", - "type": "string" - }, - "subPathExpr": { - "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.", - "type": "string" - } - }, - "required": [ - "mountPath", - "name" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "mountPath" - ], - "x-kubernetes-list-type": "map" - }, - "workingDir": { - "description": "Container's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "type": "array" - }, - "vmiCalculatorConfiguration": { - "description": "VmiCalculatorConfiguration determine how resource allocation will be done with ApplicationAwareResourceQuota", - "properties": { - "configName": { - "default": "DedicatedVirtualResources", - "description": "ConfigName determine how resource allocation will be done with ApplicationAwareResourceQuota.\nallowed values are: VmiPodUsage, VirtualResources, DedicatedVirtualResources or IgnoreVmiCalculator", - "enum": [ - "VmiPodUsage", - "VirtualResources", - "DedicatedVirtualResources", - "IgnoreVmiCalculator" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "imagePullPolicy": { - "description": "PullPolicy describes a policy for if/when to pull a container image", - "enum": [ - "Always", - "IfNotPresent", - "Never" - ], - "type": "string" - }, - "infra": { - "description": "Rules on which nodes AAQ infrastructure pods will be scheduled", - "properties": { - "affinity": { - "description": "affinity enables pod affinity/anti-affinity placement expanding the types of constraints\nthat can be expressed with nodeSelector.\naffinity is going to be applied to the relevant kind of pods in parallel with nodeSelector\nSee https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity", - "properties": { - "nodeAffinity": { - "description": "Describes node affinity scheduling rules for the pod.", - "properties": { - "preferredDuringSchedulingIgnoredDuringExecution": { - "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node matches the corresponding matchExpressions; the\nnode(s) with the highest sum are the most preferred.", - "items": { - "description": "An empty preferred scheduling term matches all objects with implicit weight 0\n(i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).", - "properties": { - "preference": { - "description": "A node selector term, associated with the corresponding weight.", - "properties": { - "matchExpressions": { - "description": "A list of node selector requirements by node's labels.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchFields": { - "description": "A list of node selector requirements by node's fields.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "weight": { - "description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.", - "format": "int32", - "type": "integer" - } - }, - "required": [ - "preference", - "weight" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "requiredDuringSchedulingIgnoredDuringExecution": { - "description": "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to an update), the system\nmay or may not try to eventually evict the pod from its node.", - "properties": { - "nodeSelectorTerms": { - "description": "Required. A list of node selector terms. The terms are ORed.", - "items": { - "description": "A null or empty node selector term matches no objects. The requirements of\nthem are ANDed.\nThe TopologySelectorTerm type implements a subset of the NodeSelectorTerm.", - "properties": { - "matchExpressions": { - "description": "A list of node selector requirements by node's labels.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchFields": { - "description": "A list of node selector requirements by node's fields.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "nodeSelectorTerms" - ], - "type": "object", - "x-kubernetes-map-type": "atomic" - } - }, - "type": "object" - }, - "podAffinity": { - "description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).", - "properties": { - "preferredDuringSchedulingIgnoredDuringExecution": { - "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred.", - "items": { - "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)", - "properties": { - "podAffinityTerm": { - "description": "Required. A pod affinity term, associated with the corresponding weight.", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "weight": { - "description": "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100.", - "format": "int32", - "type": "integer" - } - }, - "required": [ - "podAffinityTerm", - "weight" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "requiredDuringSchedulingIgnoredDuringExecution": { - "description": "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied.", - "items": { - "description": "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "podAntiAffinity": { - "description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).", - "properties": { - "preferredDuringSchedulingIgnoredDuringExecution": { - "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred.", - "items": { - "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)", - "properties": { - "podAffinityTerm": { - "description": "Required. A pod affinity term, associated with the corresponding weight.", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "weight": { - "description": "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100.", - "format": "int32", - "type": "integer" - } - }, - "required": [ - "podAffinityTerm", - "weight" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "requiredDuringSchedulingIgnoredDuringExecution": { - "description": "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied.", - "items": { - "description": "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "nodeSelector": { - "additionalProperties": { - "type": "string" - }, - "description": "nodeSelector is the node selector applied to the relevant kind of pods\nIt specifies a map of key-value pairs: for the pod to be eligible to run on a node,\nthe node must have each of the indicated key-value pairs as labels\n(it can have additional labels as well).\nSee https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector", - "type": "object" - }, - "tolerations": { - "description": "tolerations is a list of tolerations applied to the relevant kind of pods\nSee https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.\nThese are additional tolerations other than default ones.", - "items": { - "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator .", - "properties": { - "effect": { - "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.", - "type": "string" - }, - "key": { - "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.", - "type": "string" - }, - "operator": { - "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.", - "type": "string" - }, - "tolerationSeconds": { - "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.", - "format": "int64", - "type": "integer" - }, - "value": { - "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "namespaceSelector": { - "description": "namespaces where pods should be gated before scheduling\nDefaults to targeting namespaces with an \"application-aware-quota/enable-gating\" label key.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "priorityClass": { - "description": "PriorityClass of the AAQ control plane", - "type": "string" - }, - "workload": { - "description": "Restrict on which nodes AAQ workload pods will be scheduled", - "properties": { - "affinity": { - "description": "affinity enables pod affinity/anti-affinity placement expanding the types of constraints\nthat can be expressed with nodeSelector.\naffinity is going to be applied to the relevant kind of pods in parallel with nodeSelector\nSee https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity", - "properties": { - "nodeAffinity": { - "description": "Describes node affinity scheduling rules for the pod.", - "properties": { - "preferredDuringSchedulingIgnoredDuringExecution": { - "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node matches the corresponding matchExpressions; the\nnode(s) with the highest sum are the most preferred.", - "items": { - "description": "An empty preferred scheduling term matches all objects with implicit weight 0\n(i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).", - "properties": { - "preference": { - "description": "A node selector term, associated with the corresponding weight.", - "properties": { - "matchExpressions": { - "description": "A list of node selector requirements by node's labels.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchFields": { - "description": "A list of node selector requirements by node's fields.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "weight": { - "description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.", - "format": "int32", - "type": "integer" - } - }, - "required": [ - "preference", - "weight" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "requiredDuringSchedulingIgnoredDuringExecution": { - "description": "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to an update), the system\nmay or may not try to eventually evict the pod from its node.", - "properties": { - "nodeSelectorTerms": { - "description": "Required. A list of node selector terms. The terms are ORed.", - "items": { - "description": "A null or empty node selector term matches no objects. The requirements of\nthem are ANDed.\nThe TopologySelectorTerm type implements a subset of the NodeSelectorTerm.", - "properties": { - "matchExpressions": { - "description": "A list of node selector requirements by node's labels.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchFields": { - "description": "A list of node selector requirements by node's fields.", - "items": { - "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values.", - "properties": { - "key": { - "description": "The label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - "type": "string" - }, - "values": { - "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "nodeSelectorTerms" - ], - "type": "object", - "x-kubernetes-map-type": "atomic" - } - }, - "type": "object" - }, - "podAffinity": { - "description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).", - "properties": { - "preferredDuringSchedulingIgnoredDuringExecution": { - "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred.", - "items": { - "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)", - "properties": { - "podAffinityTerm": { - "description": "Required. A pod affinity term, associated with the corresponding weight.", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "weight": { - "description": "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100.", - "format": "int32", - "type": "integer" - } - }, - "required": [ - "podAffinityTerm", - "weight" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "requiredDuringSchedulingIgnoredDuringExecution": { - "description": "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied.", - "items": { - "description": "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - }, - "podAntiAffinity": { - "description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).", - "properties": { - "preferredDuringSchedulingIgnoredDuringExecution": { - "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred.", - "items": { - "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)", - "properties": { - "podAffinityTerm": { - "description": "Required. A pod affinity term, associated with the corresponding weight.", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "weight": { - "description": "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100.", - "format": "int32", - "type": "integer" - } - }, - "required": [ - "podAffinityTerm", - "weight" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "requiredDuringSchedulingIgnoredDuringExecution": { - "description": "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied.", - "items": { - "description": "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running", - "properties": { - "labelSelector": { - "description": "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "matchLabelKeys": { - "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both matchLabelKeys and labelSelector.\nAlso, matchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "mismatchLabelKeys": { - "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both mismatchLabelKeys and labelSelector.\nAlso, mismatchLabelKeys cannot be set when labelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "namespaceSelector": { - "description": "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "namespaces": { - "description": "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\".", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "topologyKey": { - "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed.", - "type": "string" - } - }, - "required": [ - "topologyKey" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "nodeSelector": { - "additionalProperties": { - "type": "string" - }, - "description": "nodeSelector is the node selector applied to the relevant kind of pods\nIt specifies a map of key-value pairs: for the pod to be eligible to run on a node,\nthe node must have each of the indicated key-value pairs as labels\n(it can have additional labels as well).\nSee https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector", - "type": "object" - }, - "tolerations": { - "description": "tolerations is a list of tolerations applied to the relevant kind of pods\nSee https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.\nThese are additional tolerations other than default ones.", - "items": { - "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator .", - "properties": { - "effect": { - "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.", - "type": "string" - }, - "key": { - "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.", - "type": "string" - }, - "operator": { - "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.", - "type": "string" - }, - "tolerationSeconds": { - "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.", - "format": "int64", - "type": "integer" - }, - "value": { - "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "type": "object" + "description": "ImageTrigger contains the image trigger details, if this trigger was fired based on an image change" }, - "status": { - "description": "AAQStatus defines the status of the installation", - "properties": { - "conditions": { - "description": "A list of current conditions of the resource", - "items": { - "description": "Condition represents the state of the operator's\nreconciliation functionality.", - "properties": { - "lastHeartbeatTime": { - "format": "date-time", - "type": "string" - }, - "lastTransitionTime": { - "format": "date-time", - "type": "string" - }, - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "description": "ConditionType is the state of the operator's reconciliation functionality.", - "type": "string" - } - }, - "required": [ - "status", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "observedVersion": { - "description": "The observed version of the resource", - "type": "string" - }, - "operatorVersion": { - "description": "The version of the resource as defined by the operator", - "type": "string" - }, - "phase": { - "description": "Phase is the current phase of the deployment", - "type": "string" - }, - "targetVersion": { - "description": "The desired version of the resource", - "type": "string" - } - }, - "type": "object" + "type": { + "default": "", + "description": "Type of the trigger that resulted in the creation of a new deployment", + "type": "string" } }, "required": [ - "spec" + "type" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "aaq.kubevirt.io", - "kind": "AAQ", - "version": "v1alpha1" - } - ] + "type": "object" }, - "aaq.kubevirt.io/v1alpha1/AAQList": { - "description": "AAQList is a list of AAQ", - "namespaced": true, + "com.github.openshift.api.apps.v1.DeploymentCauseImageTrigger": { + "description": "DeploymentCauseImageTrigger represents details about the cause of a deployment originating from an image change trigger", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "List of aaqs. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md", - "items": { - "$ref": "#/components/schemas/io.kubevirt.aaq.v1alpha1.AAQ" - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "from": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "default": {}, + "description": "From is a reference to the changed object which triggered a deployment. The field may have the kinds DockerImage, ImageStreamTag, or ImageStreamImage." } }, "required": [ - "items" + "from" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "aaq.kubevirt.io", - "kind": "AAQList", - "version": "v1alpha1" - } - ] + "type": "object" }, - "admission.k8s.io/v1/DeleteOptions": { - "description": "DeleteOptions may be provided when deleting an API object.", - "namespaced": true, + "com.github.openshift.api.apps.v1.DeploymentCondition": { + "description": "DeploymentCondition describes the state of a deployment config at a certain point.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "dryRun": { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "items": { - "default": "", - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "gracePeriodSeconds": { - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "format": "int64", - "type": "integer" - }, - "ignoreStoreReadErrorWithClusterBreakingPotential": { - "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it", - "type": "boolean" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", - "type": "boolean" + "lastTransitionTime": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + ], + "description": "The last time the condition transitioned from one status to another." }, - "preconditions": { + "lastUpdateTime": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } ], - "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." + "description": "The last time this condition was updated." + }, + "message": { + "description": "A human readable message indicating details about the transition.", + "type": "string" + }, + "reason": { + "description": "The reason for the condition's last transition.", + "type": "string" + }, + "status": { + "default": "", + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" }, - "propagationPolicy": { - "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "type": { + "default": "", + "description": "Type of deployment condition.", "type": "string" } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admission.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - } - ] + "required": [ + "type", + "status" + ], + "type": "object" }, - "admission.k8s.io/v1/WatchEvent": { - "description": "Event represents a single event to a watched resource.", - "namespaced": true, + "com.github.openshift.api.apps.v1.DeploymentConfigRollbackSpec": { + "description": "DeploymentConfigRollbackSpec represents the options for rollback generation.", "properties": { - "object": { + "from": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], - "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." + "default": {}, + "description": "From points to a ReplicationController which is a deployment." }, - "type": { - "default": "", - "type": "string" + "includeReplicationMeta": { + "default": false, + "description": "IncludeReplicationMeta specifies whether to include the replica count and selector.", + "type": "boolean" + }, + "includeStrategy": { + "default": false, + "description": "IncludeStrategy specifies whether to include the deployment Strategy.", + "type": "boolean" + }, + "includeTemplate": { + "default": false, + "description": "IncludeTemplate specifies whether to include the PodTemplateSpec.", + "type": "boolean" + }, + "includeTriggers": { + "default": false, + "description": "IncludeTriggers specifies whether to include config Triggers.", + "type": "boolean" + }, + "revision": { + "description": "Revision to rollback to. If set to 0, rollback to the last revision.", + "format": "int64", + "type": "integer" } }, "required": [ - "type", - "object" + "from", + "includeTriggers", + "includeTemplate", + "includeReplicationMeta", + "includeStrategy" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admission.k8s.io", - "kind": "WatchEvent", - "version": "v1" - } - ] + "type": "object" }, - "admissionregistration.k8s.io/v1/MutatingWebhookConfiguration": { - "description": "MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.", - "namespaced": false, + "com.github.openshift.api.apps.v1.DeploymentConfigSpec": { + "description": "DeploymentConfigSpec represents the desired state of the deployment.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "minReadySeconds": { + "description": "MinReadySeconds is the 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" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "paused": { + "description": "Paused indicates that the deployment config is paused resulting in no new deployments on template changes or changes in the template caused by other triggers.", + "type": "boolean" }, - "metadata": { + "replicas": { + "default": 0, + "description": "Replicas is the number of desired replicas.", + "format": "int32", + "type": "integer" + }, + "revisionHistoryLimit": { + "description": "RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. This field is a pointer to allow for differentiation between an explicit zero and not specified. Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.)", + "format": "int32", + "type": "integer" + }, + "selector": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "Selector is a label query over pods that should match the Replicas count.", + "type": "object" + }, + "strategy": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentStrategy" } ], "default": {}, - "description": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata." + "description": "Strategy describes how a deployment is executed." + }, + "template": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.PodTemplateSpec" + } + ], + "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected." + }, + "test": { + "default": false, + "description": "Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action.", + "type": "boolean" }, - "webhooks": { - "description": "Webhooks is a list of webhooks and the affected resources and operations.", + "triggers": { + "description": "Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers are defined, a new deployment can only occur as a result of an explicit client update to the DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.MutatingWebhook" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentTriggerPolicy" } ], "default": {} }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "name", - "x-kubernetes-patch-strategy": "merge" + "type": "array" } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", - "version": "v1" - } - ] + "type": "object" }, - "admissionregistration.k8s.io/v1/MutatingWebhookConfigurationList": { - "description": "MutatingWebhookConfigurationList is a list of MutatingWebhookConfiguration.", - "namespaced": true, + "com.github.openshift.api.apps.v1.DeploymentConfigStatus": { + "description": "DeploymentConfigStatus represents the current deployment state.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "availableReplicas": { + "default": 0, + "description": "AvailableReplicas is the total number of available pods targeted by this deployment config.", + "format": "int32", + "type": "integer" }, - "items": { - "description": "List of MutatingWebhookConfiguration.", + "conditions": { + "description": "Conditions represents the latest available observations of a deployment config's current state.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentCondition" } ], "default": {} }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "type": "array", + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge" }, - "metadata": { + "details": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentDetails" } ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - } - }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfigurationList", - "version": "v1" - } - ] - }, - "admissionregistration.k8s.io/v1/ValidatingAdmissionPolicy": { - "description": "ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.", - "namespaced": false, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "description": "Details are the reasons for the update to this deployment config. This could be based on a change made by the user or caused by an automatic trigger" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "latestVersion": { + "default": 0, + "description": "LatestVersion is used to determine whether the current deployment associated with a deployment config is out of sync.", + "format": "int64", + "type": "integer" + }, + "observedGeneration": { + "default": 0, + "description": "ObservedGeneration is the most recent generation observed by the deployment config controller.", + "format": "int64", + "type": "integer" + }, + "readyReplicas": { + "description": "Total number of ready pods targeted by this deployment.", + "format": "int32", + "type": "integer" + }, + "replicas": { + "default": 0, + "description": "Replicas is the total number of pods targeted by this deployment config.", + "format": "int32", + "type": "integer" + }, + "unavailableReplicas": { + "default": 0, + "description": "UnavailableReplicas is the total number of unavailable pods targeted by this deployment config.", + "format": "int32", + "type": "integer" + }, + "updatedReplicas": { + "default": 0, + "description": "UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config that have the desired template spec.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "latestVersion", + "observedGeneration", + "replicas", + "updatedReplicas", + "availableReplicas", + "unavailableReplicas" + ], + "type": "object" + }, + "com.github.openshift.api.apps.v1.DeploymentDetails": { + "description": "DeploymentDetails captures information about the causes of a deployment.", + "properties": { + "causes": { + "description": "Causes are extended data associated with all the causes for creating a new deployment", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentCause" + } + ], + "default": {} + }, + "type": "array" + }, + "message": { + "description": "Message is the user specified change message, if this deployment was triggered manually by the user", "type": "string" + } + }, + "required": [ + "causes" + ], + "type": "object" + }, + "com.github.openshift.api.apps.v1.DeploymentStrategy": { + "description": "DeploymentStrategy describes how to perform a deployment.", + "properties": { + "activeDeadlineSeconds": { + "description": "ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment config may be active on a node before the system actively tries to terminate them.", + "format": "int64", + "type": "integer" }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "default": {}, - "description": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata." + "annotations": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", + "type": "object" }, - "spec": { + "customParams": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicySpec" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.CustomDeploymentStrategyParams" } ], - "default": {}, - "description": "Specification of the desired behavior of the ValidatingAdmissionPolicy." + "description": "CustomParams are the input to the Custom deployment strategy, and may also be specified for the Recreate and Rolling strategies to customize the execution process that runs the deployment." }, - "status": { + "labels": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", + "type": "object" + }, + "recreateParams": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyStatus" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.RecreateDeploymentStrategyParams" } ], - "default": {}, - "description": "The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only." - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", - "version": "v1" - } - ] - }, - "admissionregistration.k8s.io/v1/ValidatingAdmissionPolicyBinding": { - "description": "ValidatingAdmissionPolicyBinding binds the ValidatingAdmissionPolicy with paramerized resources. ValidatingAdmissionPolicyBinding and parameter CRDs together define how cluster administrators configure policies for clusters.\n\nFor a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding.\n\nThe CEL expressions of a policy must have a computed CEL cost below the maximum CEL budget. Each evaluation of the policy is given an independent CEL cost budget. Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.", - "namespaced": false, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "description": "RecreateParams are the input to the Recreate deployment strategy." }, - "metadata": { + "resources": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ResourceRequirements" } ], "default": {}, - "description": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata." + "description": "Resources contains resource requirements to execute the deployment and any hooks." }, - "spec": { + "rollingParams": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBindingSpec" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.RollingDeploymentStrategyParams" } ], - "default": {}, - "description": "Specification of the desired behavior of the ValidatingAdmissionPolicyBinding." + "description": "RollingParams are the input to the Rolling deployment strategy." + }, + "type": { + "description": "Type is the name of a deployment strategy.", + "type": "string" } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", - "version": "v1" - } - ] + "type": "object" }, - "admissionregistration.k8s.io/v1/ValidatingAdmissionPolicyBindingList": { - "description": "ValidatingAdmissionPolicyBindingList is a list of ValidatingAdmissionPolicyBinding.", - "namespaced": true, + "com.github.openshift.api.apps.v1.DeploymentTriggerImageChangeParams": { + "description": "DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "automatic": { + "description": "Automatic means that the detection of a new tag value should result in an image update inside the pod template.", + "type": "boolean" }, - "items": { - "description": "List of PolicyBinding.", + "containerNames": { + "description": "ContainerNames is used to restrict tag updates to the specified set of container names in a pod. If multiple triggers point to the same containers, the resulting behavior is undefined. Future API versions will make this a validation error. If ContainerNames does not point to a valid container, the trigger will be ignored. Future API versions will make this a validation error.", "items": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" - } - ], - "default": {} + "default": "", + "type": "string" }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "from": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "description": "From is a reference to an image stream tag to watch for changes. From.Name is the only required subfield - if From.Namespace is blank, the namespace of the current deployment trigger will be used." + }, + "lastTriggeredImage": { + "description": "LastTriggeredImage is the last image to be triggered.", + "type": "string" } }, "required": [ - "items" + "from" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBindingList", - "version": "v1" + "type": "object" + }, + "com.github.openshift.api.apps.v1.DeploymentTriggerPolicy": { + "description": "DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment.", + "properties": { + "imageChangeParams": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentTriggerImageChangeParams" + } + ], + "description": "ImageChangeParams represents the parameters for the ImageChange trigger." + }, + "type": { + "description": "Type of the trigger", + "type": "string" } - ] + }, + "type": "object" }, - "admissionregistration.k8s.io/v1/ValidatingAdmissionPolicyList": { - "description": "ValidatingAdmissionPolicyList is a list of ValidatingAdmissionPolicy.", - "namespaced": true, + "com.github.openshift.api.apps.v1.ExecNewPodHook": { + "description": "ExecNewPodHook is a hook implementation which runs a command in a new pod based on the specified container which is assumed to be part of the deployment template.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "command": { + "description": "Command is the action command and its arguments.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "containerName": { + "default": "", + "description": "ContainerName is the name of a container in the deployment pod template whose container image will be used for the hook pod's container.", "type": "string" }, - "items": { - "description": "List of ValidatingAdmissionPolicy.", + "env": { + "description": "Env is a set of environment variables to supply to the hook pod's container.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "volumes": { + "description": "Volumes is a list of named volumes from the pod template which should be copied to the hook pod. Volumes names not found in pod spec are ignored. An empty list means no volumes will be copied.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" } }, "required": [ - "items" + "command", + "containerName" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyList", - "version": "v1" - } - ] + "type": "object" }, - "admissionregistration.k8s.io/v1/ValidatingWebhookConfiguration": { - "description": "ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.", - "namespaced": false, + "com.github.openshift.api.apps.v1.LifecycleHook": { + "description": "LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "execNewPod": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.ExecNewPodHook" } ], - "default": {}, - "description": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata." + "description": "ExecNewPod specifies the options for a lifecycle hook backed by a pod." }, - "webhooks": { - "description": "Webhooks is a list of webhooks and the affected resources and operations.", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingWebhook" - } - ], - "default": {} - }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "name", - "x-kubernetes-patch-strategy": "merge" - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", - "version": "v1" - } - ] - }, - "admissionregistration.k8s.io/v1/ValidatingWebhookConfigurationList": { - "description": "ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "failurePolicy": { + "default": "", + "description": "FailurePolicy specifies what action to take if the hook fails.", "type": "string" }, - "items": { - "description": "List of ValidatingWebhookConfiguration.", + "tagImages": { + "description": "TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.TagImageHook" } ], "default": {} }, "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" } }, "required": [ - "items" + "failurePolicy" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfigurationList", - "version": "v1" - } - ] + "type": "object" }, - "apiextensions.k8s.io/v1/CustomResourceDefinition": { - "description": "CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format <.spec.name>.<.spec.group>.", - "namespaced": false, + "com.github.openshift.api.apps.v1.RecreateDeploymentStrategyParams": { + "description": "RecreateDeploymentStrategyParams are the input to the Recreate deployment strategy.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "mid": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.LifecycleHook" } ], - "default": {}, - "description": "Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new pod is created. All LifecycleHookFailurePolicy values are supported." }, - "spec": { + "post": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.LifecycleHook" } ], - "default": {}, - "description": "spec describes how the user wants the resources to appear" + "description": "Post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported." }, - "status": { + "pre": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionStatus" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.LifecycleHook" } ], - "default": {}, - "description": "status indicates the actual state of the CustomResourceDefinition" + "description": "Pre is a lifecycle hook which is executed before the strategy manipulates the deployment. All LifecycleHookFailurePolicy values are supported." + }, + "timeoutSeconds": { + "description": "TimeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", + "format": "int64", + "type": "integer" } }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", - "version": "v1" - } - ] + "type": "object" }, - "apiextensions.k8s.io/v1/CustomResourceDefinitionList": { - "description": "CustomResourceDefinitionList is a list of CustomResourceDefinition objects.", - "namespaced": true, + "com.github.openshift.api.apps.v1.RollingDeploymentStrategyParams": { + "description": "RollingDeploymentStrategyParams are the input to the Rolling deployment strategy.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "items list individual CustomResourceDefinition objects", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" - } - ], - "default": {} - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "intervalSeconds": { + "description": "IntervalSeconds is the time to wait between polling deployment status after update. If the value is nil, a default will be used.", + "format": "int64", + "type": "integer" }, - "metadata": { + "maxSurge": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.util.intstr.IntOrString" } ], - "default": {}, - "description": "Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - } - }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinitionList", - "version": "v1" - } - ] - }, - "apiregistration.k8s.io/v1/APIService": { - "description": "APIService represents a server for a particular GroupVersion. Name must be \"version.group\".", - "namespaced": false, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "description": "MaxSurge is the maximum number of pods that can be scheduled above the original number of pods. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up.\n\nThis cannot be 0 if MaxUnavailable is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the new RC can be scaled up by 30% immediately when the rolling update starts. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of original pods." }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "maxUnavailable": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + } + ], + "description": "MaxUnavailable is the maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of update (ex: 10%). Absolute number is calculated from percentage by rounding down.\n\nThis cannot be 0 if MaxSurge is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the old RC can be scaled down by 30% immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that at least 70% of original number of pods are available at all times during the update." }, - "metadata": { + "post": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.LifecycleHook" } ], - "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "Post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported." }, - "spec": { + "pre": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceSpec" + "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.LifecycleHook" } ], - "default": {}, - "description": "Spec contains information for locating and communicating with a server" + "description": "Pre is a lifecycle hook which is executed before the deployment process begins. All LifecycleHookFailurePolicy values are supported." }, - "status": { + "timeoutSeconds": { + "description": "TimeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", + "format": "int64", + "type": "integer" + }, + "updatePeriodSeconds": { + "description": "UpdatePeriodSeconds is the time to wait between individual pod updates. If the value is nil, a default will be used.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "com.github.openshift.api.apps.v1.TagImageHook": { + "description": "TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag.", + "properties": { + "containerName": { + "default": "", + "description": "ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single container this value will be defaulted to the name of that container.", + "type": "string" + }, + "to": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceStatus" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], "default": {}, - "description": "Status contains derived information about an API server" + "description": "To is the target ImageStreamTag to set the container's image onto." } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apiregistration.k8s.io", - "kind": "APIService", - "version": "v1" - } - ] + "required": [ + "containerName", + "to" + ], + "type": "object" }, - "apiregistration.k8s.io/v1/APIServiceList": { - "description": "APIServiceList is a list of APIService objects.", - "namespaced": true, + "com.github.openshift.api.authorization.v1.GroupRestriction": { + "description": "GroupRestriction matches a group either by a string match on the group name or a label selector applied to group labels.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "groups": { + "description": "Groups is a list of groups used to match against an individual user's groups. If the user is a member of one of the whitelisted groups, the user is allowed to be bound to a role.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" }, - "items": { - "description": "Items is the list of APIService", + "labels": { + "description": "Selectors specifies a list of label selectors over group labels.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" } ], "default": {} }, "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "items" + "groups", + "labels" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apiregistration.k8s.io", - "kind": "APIServiceList", - "version": "v1" - } - ] + "type": "object" }, - "apiserver.openshift.io/v1/APIRequestCount": { - "description": "APIRequestCount tracks requests made to an API. The instance name must be of the form `resource.version.group`, matching the resource. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": false, + "com.github.openshift.api.authorization.v1.PolicyRule": { + "description": "PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "apiGroups": { + "description": "APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request will be allowed", + "items": { + "default": "", + "type": "string" + }, + "type": "array" }, - "metadata": { + "attributeRestrictions": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" } ], - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error." }, - "spec": { - "description": "spec defines the characteristics of the resource.", - "properties": { - "numberOfUsersToReport": { - "default": 10, - "description": "numberOfUsersToReport is the number of users to include in the report. If unspecified or zero, the default is ten. This is default is subject to change.", - "format": "int64", - "maximum": 100, - "minimum": 0, - "type": "integer" - } + "nonResourceURLs": { + "description": "NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different.", + "items": { + "default": "", + "type": "string" }, - "type": "object" + "type": "array" }, - "status": { - "description": "status contains the observed state of the resource.", - "properties": { - "conditions": { - "description": "conditions contains details of the current status of this API Resource.", - "items": { - "description": "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }", - "properties": { - "lastTransitionTime": { - "description": "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", - "format": "date-time", - "type": "string" - }, - "message": { - "description": "message is a human readable message indicating details about the transition. This may be an empty string.", - "maxLength": 32768, - "type": "string" - }, - "observedGeneration": { - "description": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "reason": { - "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.", - "maxLength": 1024, - "minLength": 1, - "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", - "type": "string" - }, - "status": { - "description": "status of the condition, one of True, False, Unknown.", - "enum": [ - "True", - "False", - "Unknown" - ], - "type": "string" - }, - "type": { - "description": "type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)", - "maxLength": 316, - "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", - "type": "string" - } - }, - "required": [ - "lastTransitionTime", - "message", - "reason", - "status", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "currentHour": { - "description": "currentHour contains request history for the current hour. This is porcelain to make the API easier to read by humans seeing if they addressed a problem. This field is reset on the hour.", - "properties": { - "byNode": { - "description": "byNode contains logs of requests per node.", - "items": { - "description": "PerNodeAPIRequestLog contains logs of requests to a certain node.", - "properties": { - "byUser": { - "description": "byUser contains request details by top .spec.numberOfUsersToReport users. Note that because in the case of an apiserver, restart the list of top users is determined on a best-effort basis, the list might be imprecise. In addition, some system users may be explicitly included in the list.", - "items": { - "description": "PerUserAPIRequestCount contains logs of a user's requests.", - "properties": { - "byVerb": { - "description": "byVerb details by verb.", - "items": { - "description": "PerVerbAPIRequestCount requestCounts requests by API request verb.", - "properties": { - "requestCount": { - "description": "requestCount of requests for verb.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "verb": { - "description": "verb of API request (get, list, create, etc...)", - "maxLength": 20, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 10, - "type": "array" - }, - "requestCount": { - "description": "requestCount of requests by the user across all verbs.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "userAgent": { - "description": "userAgent that made the request. The same user often has multiple binaries which connect (pods with many containers). The different binaries will have different userAgents, but the same user. In addition, we have userAgents with version information embedded and the userName isn't likely to change.", - "maxLength": 1024, - "type": "string" - }, - "username": { - "description": "userName that made the request.", - "maxLength": 512, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 500, - "type": "array" - }, - "nodeName": { - "description": "nodeName where the request are being handled.", - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "requestCount": { - "description": "requestCount is a sum of all requestCounts across all users, even those outside of the top 10 users.", - "format": "int64", - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "maxItems": 512, - "type": "array" - }, - "requestCount": { - "description": "requestCount is a sum of all requestCounts across nodes.", - "format": "int64", - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "last24h": { - "description": "last24h contains request history for the last 24 hours, indexed by the hour, so 12:00AM-12:59 is in index 0, 6am-6:59am is index 6, etc. The index of the current hour is updated live and then duplicated into the requestsLastHour field.", - "items": { - "description": "PerResourceAPIRequestLog logs request for various nodes.", - "properties": { - "byNode": { - "description": "byNode contains logs of requests per node.", - "items": { - "description": "PerNodeAPIRequestLog contains logs of requests to a certain node.", - "properties": { - "byUser": { - "description": "byUser contains request details by top .spec.numberOfUsersToReport users. Note that because in the case of an apiserver, restart the list of top users is determined on a best-effort basis, the list might be imprecise. In addition, some system users may be explicitly included in the list.", - "items": { - "description": "PerUserAPIRequestCount contains logs of a user's requests.", - "properties": { - "byVerb": { - "description": "byVerb details by verb.", - "items": { - "description": "PerVerbAPIRequestCount requestCounts requests by API request verb.", - "properties": { - "requestCount": { - "description": "requestCount of requests for verb.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "verb": { - "description": "verb of API request (get, list, create, etc...)", - "maxLength": 20, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 10, - "type": "array" - }, - "requestCount": { - "description": "requestCount of requests by the user across all verbs.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "userAgent": { - "description": "userAgent that made the request. The same user often has multiple binaries which connect (pods with many containers). The different binaries will have different userAgents, but the same user. In addition, we have userAgents with version information embedded and the userName isn't likely to change.", - "maxLength": 1024, - "type": "string" - }, - "username": { - "description": "userName that made the request.", - "maxLength": 512, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 500, - "type": "array" - }, - "nodeName": { - "description": "nodeName where the request are being handled.", - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "requestCount": { - "description": "requestCount is a sum of all requestCounts across all users, even those outside of the top 10 users.", - "format": "int64", - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "maxItems": 512, - "type": "array" - }, - "requestCount": { - "description": "requestCount is a sum of all requestCounts across nodes.", - "format": "int64", - "minimum": 0, - "type": "integer" - } - }, - "type": "object" - }, - "maxItems": 24, - "type": "array" - }, - "removedInRelease": { - "description": "removedInRelease is when the API will be removed.", - "maxLength": 64, - "minLength": 0, - "pattern": "^[0-9][0-9]*\\.[0-9][0-9]*$", - "type": "string" - }, - "requestCount": { - "description": "requestCount is a sum of all requestCounts across all current hours, nodes, and users.", - "format": "int64", - "minimum": 0, - "type": "integer" - } + "resourceNames": { + "description": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.", + "items": { + "default": "", + "type": "string" }, - "type": "object" - } - }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apiserver.openshift.io", - "kind": "APIRequestCount", - "version": "v1" - } - ] - }, - "apiserver.openshift.io/v1/APIRequestCountList": { - "description": "APIRequestCountList is a list of APIRequestCount", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "type": "array" }, - "items": { - "description": "List of apirequestcounts. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md", + "resources": { + "description": "Resources is a list of resources this rule applies to. ResourceAll represents all resources.", "items": { - "$ref": "#/components/schemas/io.openshift.apiserver.v1.APIRequestCount" + "default": "", + "type": "string" }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "verbs": { + "description": "Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" } }, "required": [ - "items" + "verbs", + "resources" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apiserver.openshift.io", - "kind": "APIRequestCountList", - "version": "v1" - } - ] + "type": "object" }, - "apps.openshift.io/v1/DeploymentConfig": { - "description": "Deployment Configs define the template for a pod and manages deploying new images or configuration changes. A single deployment configuration is usually analogous to a single micro-service. Can support many different deployment patterns, including full restart, customizable rolling updates, and fully custom behaviors, as well as pre- and post- deployment hooks. Each individual deployment is represented as a replication controller.\n\nA deployment is \"triggered\" when its configuration is changed or a tag in an Image Stream is changed. Triggers can be disabled to allow manual control over a deployment. The \"strategy\" determines how the deployment is carried out and may be changed at any time. The `latestVersion` field is updated when a new deployment is triggered by any means.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). Deprecated: Use deployments or other means for declarative updates for pods instead.", - "namespaced": true, + "com.github.openshift.api.authorization.v1.RoleBindingRestrictionSpec": { + "description": "RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one field must be non-nil.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "grouprestriction": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.GroupRestriction" } ], - "default": {}, - "description": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "GroupRestriction matches against group subjects." }, - "spec": { + "serviceaccountrestriction": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentConfigSpec" + "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.ServiceAccountRestriction" } ], - "default": {}, - "description": "Spec represents a desired deployment state and how to deploy to it." + "description": "ServiceAccountRestriction matches against service-account subjects." }, - "status": { + "userrestriction": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentConfigStatus" + "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.UserRestriction" } ], - "default": {}, - "description": "Status represents the current deployment state." + "description": "UserRestriction matches against user subjects." } }, "required": [ - "spec" + "userrestriction", + "grouprestriction", + "serviceaccountrestriction" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps.openshift.io", - "kind": "DeploymentConfig", - "version": "v1" - } - ] + "type": "object" }, - "apps.openshift.io/v1/DeploymentConfigList": { - "description": "DeploymentConfigList is a collection of deployment configs.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.authorization.v1.SelfSubjectRulesReviewSpec": { + "description": "SelfSubjectRulesReviewSpec adds information about how to conduct the check", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is a list of deployment configs", + "scopes": { + "description": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil means \"use the scopes on this request\".", "items": { - "allOf": [ - { - "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentConfig" - } - ], - "default": {} + "default": "", + "type": "string" }, "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "items" + "scopes" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps.openshift.io", - "kind": "DeploymentConfigList", - "version": "v1" - } - ] + "type": "object" }, - "apps.openshift.io/v1/DeploymentConfigRollback": { - "description": "DeploymentConfigRollback provides the input to rollback generation.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.authorization.v1.ServiceAccountReference": { + "description": "ServiceAccountReference specifies a service account and namespace by their names.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, "name": { "default": "", - "description": "Name of the deployment config that will be rolled back.", + "description": "Name is the name of the service account.", "type": "string" }, - "spec": { - "allOf": [ - { - "$ref": "#/components/schemas/com.github.openshift.api.apps.v1.DeploymentConfigRollbackSpec" - } - ], - "default": {}, - "description": "Spec defines the options to rollback generation." - }, - "updatedAnnotations": { - "additionalProperties": { - "default": "", - "type": "string" - }, - "description": "UpdatedAnnotations is a set of new annotations that will be added in the deployment config.", - "type": "object" + "namespace": { + "default": "", + "description": "Namespace is the namespace of the service account. Service accounts from inside the whitelisted namespaces are allowed to be bound to roles. If Namespace is empty, then the namespace of the RoleBindingRestriction in which the ServiceAccountReference is embedded is used.", + "type": "string" } }, "required": [ "name", - "spec" + "namespace" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps.openshift.io", - "kind": "DeploymentConfigRollback", - "version": "v1" + "type": "object" + }, + "com.github.openshift.api.authorization.v1.ServiceAccountRestriction": { + "description": "ServiceAccountRestriction matches a service account by a string match on either the service-account name or the name of the service account's namespace.", + "properties": { + "namespaces": { + "description": "Namespaces specifies a list of literal namespace names.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "serviceaccounts": { + "description": "ServiceAccounts specifies a list of literal service-account names.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.ServiceAccountReference" + } + ], + "default": {} + }, + "type": "array" } - ] + }, + "required": [ + "serviceaccounts", + "namespaces" + ], + "type": "object" }, - "apps.openshift.io/v1/DeploymentLog": { - "description": "DeploymentLog represents the logs for a deployment\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.authorization.v1.SubjectRulesReviewSpec": { + "description": "SubjectRulesReviewSpec adds information about how to conduct the check", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "groups": { + "description": "Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "scopes": { + "description": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\".", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "user": { + "default": "", + "description": "User is optional. At least one of User and Groups must be specified.", "type": "string" } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps.openshift.io", - "kind": "DeploymentLog", - "version": "v1" - } - ] + "required": [ + "user", + "groups", + "scopes" + ], + "type": "object" }, - "apps.openshift.io/v1/DeploymentRequest": { - "description": "DeploymentRequest is a request to a deployment config for a new deployment.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.authorization.v1.SubjectRulesReviewStatus": { + "description": "SubjectRulesReviewStatus is contains the result of a rules check", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "evaluationError": { + "description": "EvaluationError can appear in combination with Rules. It means some error happened during evaluation that may have prevented additional rules from being populated.", "type": "string" }, - "excludeTriggers": { - "description": "ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. This field overrides the triggers from latest and allows clients to control specific logic. This field is ignored if not specified.", + "rules": { + "description": "Rules is the list of rules (no particular sort) that are allowed for the subject", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.PolicyRule" + } + ], + "default": {} + }, + "type": "array" + } + }, + "required": [ + "rules" + ], + "type": "object" + }, + "com.github.openshift.api.authorization.v1.UserRestriction": { + "description": "UserRestriction matches a user either by a string match on the user name, a string match on the name of a group to which the user belongs, or a label selector applied to the user labels.", + "properties": { + "groups": { + "description": "Groups specifies a list of literal group names.", "items": { "default": "", "type": "string" }, "type": "array" }, - "force": { - "default": false, - "description": "Force will try to force a new deployment to run. If the deployment config is paused, then setting this to true will return an Invalid error.", - "type": "boolean" + "labels": { + "description": "Selectors specifies a list of label selectors over user labels.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector" + } + ], + "default": {} + }, + "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "users": { + "description": "Users specifies a list of literal user names.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "users", + "groups", + "labels" + ], + "type": "object" + }, + "com.github.openshift.api.build.v1.BinaryBuildSource": { + "description": "BinaryBuildSource describes a binary file to be used for the Docker and Source build strategies, where the file will be extracted and used as the build source.", + "properties": { + "asFile": { + "description": "asFile indicates that the provided binary input should be considered a single file within the build input. For example, specifying \"webapp.war\" would place the provided binary as `/webapp.war` for the builder. If left empty, the Docker and Source build strategies assume this file is a zip, tar, or tar.gz file and extract it as the source. The custom strategy receives this binary as standard input. This filename may not contain slashes or be '..' or '.'.", "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.BitbucketWebHookCause": { + "description": "BitbucketWebHookCause has information about a Bitbucket webhook that triggered a build.", + "properties": { + "revision": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceRevision" + } + ], + "description": "Revision is the git source revision information of the trigger." }, - "latest": { - "default": false, - "description": "Latest will update the deployment config with the latest state from all triggers.", - "type": "boolean" + "secret": { + "description": "Secret is the obfuscated webhook secret that triggered a build.", + "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.BuildCondition": { + "description": "BuildCondition describes the state of a build at a certain point.", + "properties": { + "lastTransitionTime": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + ], + "description": "The last time the condition transitioned from one status to another." }, - "name": { + "lastUpdateTime": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + ], + "description": "The last time this condition was updated." + }, + "message": { + "description": "A human readable message indicating details about the transition.", + "type": "string" + }, + "reason": { + "description": "The reason for the condition's last transition.", + "type": "string" + }, + "status": { + "default": "", + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { "default": "", - "description": "Name of the deployment config for requesting a new deployment.", + "description": "Type of build condition.", "type": "string" } }, "required": [ - "name", - "latest", - "force" + "type", + "status" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps.openshift.io", - "kind": "DeploymentRequest", - "version": "v1" - } - ] + "type": "object" }, - "apps.openshift.io/v1/Scale": { - "description": "represents a scaling request for a resource.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildConfigSpec": { + "description": "BuildConfigSpec describes when and how builds are created", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "completionDeadlineSeconds": { + "description": "completionDeadlineSeconds is an optional duration in seconds, counted from the time when a build pod gets scheduled in the system, that the build may be active on a node before the system actively tries to terminate the build; value must be positive integer", + "format": "int64", + "type": "integer" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "failedBuildsHistoryLimit": { + "description": "failedBuildsHistoryLimit is the number of old failed builds to retain. When a BuildConfig is created, the 5 most recent failed builds are retained unless this value is set. If removed after the BuildConfig has been created, all failed builds are retained.", + "format": "int32", + "type": "integer" }, - "metadata": { + "mountTrustedCA": { + "description": "mountTrustedCA bind mounts the cluster's trusted certificate authorities, as defined in the cluster's proxy configuration, into the build. This lets processes within a build trust components signed by custom PKI certificate authorities, such as private artifact repositories and HTTPS proxies.\n\nWhen this field is set to true, the contents of `/etc/pki/ca-trust` within the build are managed by the build container, and any changes to this directory or its subdirectories (for example - within a Dockerfile `RUN` instruction) are not persisted in the build's output image.", + "type": "boolean" + }, + "nodeSelector": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "nodeSelector is a selector which must be true for the build pod to fit on a node If nil, it can be overridden by default build nodeselector values for the cluster. If set to an empty map or a map with any values, default build nodeselector values are ignored.", + "type": "object" + }, + "output": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildOutput" } ], "default": {}, - "description": "Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata." + "description": "output describes the container image the Strategy should produce." }, - "spec": { + "postCommit": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.extensions.v1beta1.ScaleSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildPostCommitSpec" } ], "default": {}, - "description": "defines the behavior of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status." + "description": "postCommit is a build hook executed after the build output image is committed, before it is pushed to a registry." }, - "status": { + "resources": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.extensions.v1beta1.ScaleStatus" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ResourceRequirements" } ], "default": {}, - "description": "current status of the scale. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status. Read-only." - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps.openshift.io", - "kind": "Scale", - "version": "v1" - } - ] - }, - "apps/v1/ControllerRevision": { - "description": "ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "description": "resources computes resource requirements to execute the build." }, - "data": { + "revision": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceRevision" } ], - "description": "Data is the serialized representation of the state." + "description": "revision is the information from the source for a specific repo snapshot. This is optional." }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "runPolicy": { + "description": "RunPolicy describes how the new build created from this build configuration will be scheduled for execution. This is optional, if not specified we default to \"Serial\".", "type": "string" }, - "metadata": { + "serviceAccount": { + "description": "serviceAccount is the name of the ServiceAccount to use to run the pod created by this build. The pod will be allowed to use secrets referenced by the ServiceAccount", + "type": "string" + }, + "source": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildSource" } ], "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "source describes the SCM in use." }, - "revision": { - "default": 0, - "description": "Revision indicates the revision of the state represented by Data.", - "format": "int64", + "strategy": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildStrategy" + } + ], + "default": {}, + "description": "strategy defines how to perform a build." + }, + "successfulBuildsHistoryLimit": { + "description": "successfulBuildsHistoryLimit is the number of old successful builds to retain. When a BuildConfig is created, the 5 most recent successful builds are retained unless this value is set. If removed after the BuildConfig has been created, all successful builds are retained.", + "format": "int32", "type": "integer" + }, + "triggers": { + "description": "triggers determine how new Builds can be launched from a BuildConfig. If no triggers are defined, a new build can only occur as a result of an explicit client build creation.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildTriggerPolicy" + } + ], + "default": {} + }, + "type": "array" } }, "required": [ - "revision" + "strategy" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "ControllerRevision", - "version": "v1" - } - ] + "type": "object" }, - "apps/v1/ControllerRevisionList": { - "description": "ControllerRevisionList is a resource containing a list of ControllerRevision objects.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildConfigStatus": { + "description": "BuildConfigStatus contains current state of the build config object.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of ControllerRevisions", + "imageChangeTriggers": { + "description": "ImageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, including the value reconciled by the OpenShift APIServer for the lastTriggeredImageID. There is a single entry in this array for each image change trigger in spec. Each trigger status references the ImageStreamTag that acts as the source of the trigger.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.ControllerRevision" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageChangeTriggerStatus" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "lastVersion": { + "default": 0, + "description": "lastVersion is used to inform about number of last triggered build.", + "format": "int64", + "type": "integer" } }, "required": [ - "items" + "lastVersion" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "ControllerRevisionList", - "version": "v1" - } - ] + "type": "object" }, - "apps/v1/DaemonSet": { - "description": "DaemonSet represents the configuration of a daemon set.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildOutput": { + "description": "BuildOutput is input to a build strategy and describes the container image that the strategy should produce.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "imageLabels": { + "description": "imageLabels define a list of labels that are applied to the resulting image. If there are multiple labels with the same name then the last one in the list is used.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageLabel" + } + ], + "default": {} + }, + "type": "array" }, - "spec": { + "pushSecret": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.DaemonSetSpec" + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" } ], - "default": {}, - "description": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" + "description": "PushSecret is the name of a Secret that would be used for setting up the authentication for executing the Docker push to authentication enabled Docker Registry (or Docker Hub)." }, - "status": { + "to": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.DaemonSetStatus" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], - "default": {}, - "description": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" + "description": "to defines an optional location to push the output of this build to. Kind must be one of 'ImageStreamTag' or 'DockerImage'. This value will be used to look up a container image repository to push to. In the case of an ImageStreamTag, the ImageStreamTag will be looked for in the namespace of the build unless Namespace is specified." } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "DaemonSet", - "version": "v1" - } - ] + "type": "object" }, - "apps/v1/DaemonSetList": { - "description": "DaemonSetList is a collection of daemon sets.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildPostCommitSpec": { + "description": "A BuildPostCommitSpec holds a build post commit hook specification. The hook executes a command in a temporary container running the build output image, immediately after the last layer of the image is committed and before the image is pushed to a registry. The command is executed with the current working directory ($PWD) set to the image's WORKDIR.\n\nThe build will be marked as failed if the hook execution fails. It will fail if the script or command return a non-zero exit code, or if there is any other error related to starting the temporary container.\n\nThere are five different ways to configure the hook. As an example, all forms below are equivalent and will execute `rake test --verbose`.\n\n1. Shell script:\n\n\t \"postCommit\": {\n\t \"script\": \"rake test --verbose\",\n\t }\n\n\tThe above is a convenient form which is equivalent to:\n\n\t \"postCommit\": {\n\t \"command\": [\"/bin/sh\", \"-ic\"],\n\t \"args\": [\"rake test --verbose\"]\n\t }\n\n2. A command as the image entrypoint:\n\n\t \"postCommit\": {\n\t \"commit\": [\"rake\", \"test\", \"--verbose\"]\n\t }\n\n\tCommand overrides the image entrypoint in the exec form, as documented in\n\tDocker: https://docs.docker.com/engine/reference/builder/#entrypoint.\n\n3. Pass arguments to the default entrypoint:\n\n\t \"postCommit\": {\n\t\t\t \"args\": [\"rake\", \"test\", \"--verbose\"]\n\t\t }\n\n\t This form is only useful if the image entrypoint can handle arguments.\n\n4. Shell script with arguments:\n\n\t \"postCommit\": {\n\t \"script\": \"rake test $1\",\n\t \"args\": [\"--verbose\"]\n\t }\n\n\tThis form is useful if you need to pass arguments that would otherwise be\n\thard to quote properly in the shell script. In the script, $0 will be\n\t\"/bin/sh\" and $1, $2, etc, are the positional arguments from Args.\n\n5. Command with arguments:\n\n\t \"postCommit\": {\n\t \"command\": [\"rake\", \"test\"],\n\t \"args\": [\"--verbose\"]\n\t }\n\n\tThis form is equivalent to appending the arguments to the Command slice.\n\nIt is invalid to provide both Script and Command simultaneously. If none of the fields are specified, the hook is not executed.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "args": { + "description": "args is a list of arguments that are provided to either Command, Script or the container image's default entrypoint. The arguments are placed immediately after the command to be run.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "command": { + "description": "command is the command to run. It may not be specified with Script. This might be needed if the image doesn't have `/bin/sh`, or if you do not want to use a shell. In all other cases, using Script might be more convenient.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "script": { + "description": "script is a shell script to be run with `/bin/sh -ic`. It may not be specified with Command. Use Script when a shell script is appropriate to execute the post build hook, for example for running unit tests with `rake test`. If you need control over the image entrypoint, or if the image does not have `/bin/sh`, use Command and/or Args. The `-i` flag is needed to support CentOS and RHEL images that use Software Collections (SCL), in order to have the appropriate collections enabled in the shell. E.g., in the Ruby image, this is necessary to make `ruby`, `bundle` and other binaries available in the PATH.", "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.BuildSource": { + "description": "BuildSource is the SCM used for the build.", + "properties": { + "binary": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BinaryBuildSource" + } + ], + "description": "binary builds accept a binary as their input. The binary is generally assumed to be a tar, gzipped tar, or zip file depending on the strategy. For container image builds, this is the build context and an optional Dockerfile may be specified to override any Dockerfile in the build context. For Source builds, this is assumed to be an archive as described above. For Source and container image builds, if binary.asFile is set the build will receive a directory with a single file. contextDir may be used when an archive is provided. Custom builds will receive this binary as input on STDIN." }, - "items": { - "description": "A list of daemon sets.", + "configMaps": { + "description": "configMaps represents a list of configMaps and their destinations that will be used for the build.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ConfigMapBuildSource" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "contextDir": { + "description": "contextDir specifies the sub-directory where the source code for the application exists. This allows to have buildable sources in directory other than root of repository.", "type": "string" }, - "metadata": { + "dockerfile": { + "description": "dockerfile is the raw contents of a Dockerfile which should be built. When this option is specified, the FROM may be modified based on your strategy base image and additional ENV stanzas from your strategy environment will be added after the FROM, but before the rest of your Dockerfile stanzas. The Dockerfile source type may be used with other options like git - in those cases the Git repo will have any innate Dockerfile replaced in the context dir.", + "type": "string" + }, + "git": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.GitBuildSource" } ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "git contains optional information about git build source" + }, + "images": { + "description": "images describes a set of images to be used to provide source for the build", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageSource" + } + ], + "default": {} + }, + "type": "array" + }, + "secrets": { + "description": "secrets represents a list of secrets and their destinations that will be used only for the build.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SecretBuildSource" + } + ], + "default": {} + }, + "type": "array" + }, + "sourceSecret": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" + } + ], + "description": "sourceSecret is the name of a Secret that would be used for setting up the authentication for cloning private repository. The secret contains valid credentials for remote repository, where the data's key represent the authentication method to be used and value is the base64 encoded credentials. Supported auth methods are: ssh-privatekey." + }, + "type": { + "description": "type of build input to accept", + "type": "string" } }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "DaemonSetList", - "version": "v1" - } - ] + "type": "object" }, - "apps/v1/Deployment": { - "description": "Deployment enables declarative updates for Pods and ReplicaSets.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildSpec": { + "description": "BuildSpec has the information to represent a build and also additional information about a build", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "completionDeadlineSeconds": { + "description": "completionDeadlineSeconds is an optional duration in seconds, counted from the time when a build pod gets scheduled in the system, that the build may be active on a node before the system actively tries to terminate the build; value must be positive integer", + "format": "int64", + "type": "integer" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "mountTrustedCA": { + "description": "mountTrustedCA bind mounts the cluster's trusted certificate authorities, as defined in the cluster's proxy configuration, into the build. This lets processes within a build trust components signed by custom PKI certificate authorities, such as private artifact repositories and HTTPS proxies.\n\nWhen this field is set to true, the contents of `/etc/pki/ca-trust` within the build are managed by the build container, and any changes to this directory or its subdirectories (for example - within a Dockerfile `RUN` instruction) are not persisted in the build's output image.", + "type": "boolean" }, - "metadata": { + "nodeSelector": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "nodeSelector is a selector which must be true for the build pod to fit on a node If nil, it can be overridden by default build nodeselector values for the cluster. If set to an empty map or a map with any values, default build nodeselector values are ignored.", + "type": "object" + }, + "output": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildOutput" } ], "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "output describes the container image the Strategy should produce." }, - "spec": { + "postCommit": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.DeploymentSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildPostCommitSpec" } ], "default": {}, - "description": "Specification of the desired behavior of the Deployment." + "description": "postCommit is a build hook executed after the build output image is committed, before it is pushed to a registry." }, - "status": { + "resources": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.DeploymentStatus" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ResourceRequirements" } ], "default": {}, - "description": "Most recently observed status of the Deployment." - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "Deployment", - "version": "v1" - } - ] - }, - "apps/v1/DeploymentList": { - "description": "DeploymentList is a list of Deployments.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "resources computes resource requirements to execute the build." + }, + "revision": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceRevision" + } + ], + "description": "revision is the information from the source for a specific repo snapshot. This is optional." + }, + "serviceAccount": { + "description": "serviceAccount is the name of the ServiceAccount to use to run the pod created by this build. The pod will be allowed to use secrets referenced by the ServiceAccount", "type": "string" }, - "items": { - "description": "Items is the list of Deployments.", + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildSource" + } + ], + "default": {}, + "description": "source describes the SCM in use." + }, + "strategy": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildStrategy" + } + ], + "default": {}, + "description": "strategy defines how to perform a build." + }, + "triggeredBy": { + "description": "triggeredBy describes which triggers started the most recent update to the build configuration and contains information about those triggers.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.Deployment" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildTriggerCause" } ], "default": {} }, "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "Standard list metadata." } }, "required": [ - "items" + "strategy" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "DeploymentList", - "version": "v1" - } - ] + "type": "object" }, - "apps/v1/ReplicaSet": { - "description": "ReplicaSet ensures that a specified number of pod replicas are running at any given time.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildStatus": { + "description": "BuildStatus contains the status of a build", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "cancelled": { + "description": "cancelled describes if a cancel event was triggered for the build.", + "type": "boolean" }, - "metadata": { + "completionTimestamp": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } ], - "default": {}, - "description": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "completionTimestamp is a timestamp representing the server time when this Build was finished, whether that build failed or succeeded. It reflects the time at which the Pod running the Build terminated. It is represented in RFC3339 form and is in UTC." }, - "spec": { + "conditions": { + "description": "Conditions represents the latest available observations of a build's current state.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildCondition" + } + ], + "default": {} + }, + "type": "array", + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge" + }, + "config": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.ReplicaSetSpec" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], - "default": {}, - "description": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" + "description": "config is an ObjectReference to the BuildConfig this Build is based on." }, - "status": { + "duration": { + "description": "duration contains time.Duration object describing build time.", + "format": "int64", + "type": "integer" + }, + "logSnippet": { + "description": "logSnippet is the last few lines of the build log. This value is only set for builds that failed.", + "type": "string" + }, + "message": { + "description": "message is a human-readable message indicating details about why the build has this status.", + "type": "string" + }, + "output": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.ReplicaSetStatus" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildStatusOutput" } ], "default": {}, - "description": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status" - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "ReplicaSet", - "version": "v1" - } - ] - }, - "apps/v1/ReplicaSetList": { - "description": "ReplicaSetList is a collection of ReplicaSets.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "output describes the container image the build has produced." + }, + "outputDockerImageReference": { + "description": "outputDockerImageReference contains a reference to the container image that will be built by this build. Its value is computed from Build.Spec.Output.To, and should include the registry address, so that it can be used to push and pull the image.", "type": "string" }, - "items": { - "description": "List of ReplicaSets. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset", + "phase": { + "default": "", + "description": "phase is the point in the build lifecycle. Possible values are \"New\", \"Pending\", \"Running\", \"Complete\", \"Failed\", \"Error\", and \"Cancelled\".", + "type": "string" + }, + "reason": { + "description": "reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.", + "type": "string" + }, + "stages": { + "description": "stages contains details about each stage that occurs during the build including start time, duration (in milliseconds), and the steps that occured within each stage.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.StageInfo" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "startTimestamp": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "description": "startTimestamp is a timestamp representing the server time when this Build started running in a Pod. It is represented in RFC3339 form and is in UTC." } }, "required": [ - "items" + "phase" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "ReplicaSetList", - "version": "v1" + "type": "object" + }, + "com.github.openshift.api.build.v1.BuildStatusOutput": { + "description": "BuildStatusOutput contains the status of the built image.", + "properties": { + "to": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildStatusOutputTo" + } + ], + "description": "to describes the status of the built image being pushed to a registry." } - ] + }, + "type": "object" }, - "apps/v1/StatefulSet": { - "description": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\n\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.", - "namespaced": true, + "com.github.openshift.api.build.v1.BuildStatusOutputTo": { + "description": "BuildStatusOutputTo describes the status of the built image with regards to image registry to which it was supposed to be pushed.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "imageDigest": { + "description": "imageDigest is the digest of the built container image. The digest uniquely identifies the image in the registry to which it was pushed.\n\nPlease note that this field may not always be set even if the push completes successfully - e.g. when the registry returns no digest or returns it in a format that the builder doesn't understand.", "type": "string" - }, - "metadata": { + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.BuildStrategy": { + "description": "BuildStrategy contains the details of how to perform a build.", + "properties": { + "customStrategy": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.CustomBuildStrategy" } ], - "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "customStrategy holds the parameters to the Custom build strategy" }, - "spec": { + "dockerStrategy": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.StatefulSetSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.DockerBuildStrategy" } ], - "default": {}, - "description": "Spec defines the desired identities of pods in this set." + "description": "dockerStrategy holds the parameters to the container image build strategy." }, - "status": { + "jenkinsPipelineStrategy": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.StatefulSetStatus" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.JenkinsPipelineBuildStrategy" } ], - "default": {}, - "description": "Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time." - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" - } - ] - }, - "apps/v1/StatefulSetList": { - "description": "StatefulSetList is a collection of StatefulSets.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is the list of stateful sets.", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.apps.v1.StatefulSet" - } - ], - "default": {} - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "description": "JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. Deprecated: use OpenShift Pipelines" }, - "metadata": { + "sourceStrategy": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceBuildStrategy" } ], - "default": {}, - "description": "Standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "sourceStrategy holds the parameters to the Source build strategy." + }, + "type": { + "description": "type is the kind of build strategy.", + "type": "string" } }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "apps", - "kind": "StatefulSetList", - "version": "v1" - } - ] + "type": "object" }, - "authentication.k8s.io/v1/SelfSubjectReview": { - "description": "SelfSubjectReview contains the user information that the kube-apiserver has about the user making this request. When using impersonation, users will receive the user info of the user being impersonated. If impersonation or request header authentication is used, any extra keys will have their case ignored and returned as lowercase.", - "namespaced": false, + "com.github.openshift.api.build.v1.BuildTriggerCause": { + "description": "BuildTriggerCause holds information about a triggered build. It is used for displaying build trigger data for each build and build configuration in oc describe. It is also used to describe which triggers led to the most recent update in the build configuration.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "bitbucketWebHook": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BitbucketWebHookCause" } ], - "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "BitbucketWebHook represents data for a Bitbucket webhook that fired a specific build." }, - "status": { + "genericWebHook": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authentication.v1.SelfSubjectReviewStatus" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.GenericWebHookCause" } ], - "default": {}, - "description": "Status is filled in by the server with the user attributes." - } - }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authentication.k8s.io", - "kind": "SelfSubjectReview", - "version": "v1" - } - ] - }, - "authentication.k8s.io/v1/TokenRequest": { - "description": "TokenRequest requests a token for a given service account.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "description": "genericWebHook holds data about a builds generic webhook trigger." }, - "metadata": { + "githubWebHook": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.GitHubWebHookCause" } ], - "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "gitHubWebHook represents data for a GitHub webhook that fired a specific build." }, - "spec": { + "gitlabWebHook": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenRequestSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.GitLabWebHookCause" } ], - "default": {}, - "description": "Spec holds information about the request being evaluated" + "description": "GitLabWebHook represents data for a GitLab webhook that fired a specific build." }, - "status": { + "imageChangeBuild": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenRequestStatus" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageChangeCause" } ], - "default": {}, - "description": "Status is filled in by the server and indicates whether the token can be authenticated." + "description": "imageChangeBuild stores information about an imagechange event that triggered a new build." + }, + "message": { + "description": "message is used to store a human readable message for why the build was triggered. E.g.: \"Manually triggered by user\", \"Configuration change\",etc.", + "type": "string" } }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authentication.k8s.io", - "kind": "TokenRequest", - "version": "v1" - } - ] + "type": "object" }, - "authentication.k8s.io/v1/TokenReview": { - "description": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.", - "namespaced": false, + "com.github.openshift.api.build.v1.BuildTriggerPolicy": { + "description": "BuildTriggerPolicy describes a policy for a single trigger that results in a new Build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "bitbucket": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.WebHookTrigger" } ], - "default": {}, - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "BitbucketWebHook contains the parameters for a Bitbucket webhook type of trigger" }, - "spec": { + "generic": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReviewSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.WebHookTrigger" } ], - "default": {}, - "description": "Spec holds information about the request being evaluated" + "description": "generic contains the parameters for a Generic webhook type of trigger" }, - "status": { + "github": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authentication.v1.TokenReviewStatus" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.WebHookTrigger" } ], - "default": {}, - "description": "Status is filled in by the server and indicates whether the request can be authenticated." - } - }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authentication.k8s.io", - "kind": "TokenReview", - "version": "v1" - } - ] - }, - "authorization.k8s.io/v1/LocalSubjectAccessReview": { - "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "description": "github contains the parameters for a GitHub webhook type of trigger" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "gitlab": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.WebHookTrigger" } ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "GitLabWebHook contains the parameters for a GitLab webhook type of trigger" }, - "spec": { + "imageChange": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageChangeTrigger" } ], - "default": {}, - "description": "Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace you made the request against. If empty, it is defaulted." + "description": "imageChange contains parameters for an ImageChange type of trigger" }, - "status": { + "type": { + "default": "", + "description": "type is the type of build trigger. Valid values:\n\n- GitHub GitHubWebHookBuildTriggerType represents a trigger that launches builds on GitHub webhook invocations\n\n- Generic GenericWebHookBuildTriggerType represents a trigger that launches builds on generic webhook invocations\n\n- GitLab GitLabWebHookBuildTriggerType represents a trigger that launches builds on GitLab webhook invocations\n\n- Bitbucket BitbucketWebHookBuildTriggerType represents a trigger that launches builds on Bitbucket webhook invocations\n\n- ImageChange ImageChangeBuildTriggerType represents a trigger that launches builds on availability of a new version of an image\n\n- ConfigChange ConfigChangeBuildTriggerType will trigger a build on an initial build config creation WARNING: In the future the behavior will change to trigger a build on any config change", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "com.github.openshift.api.build.v1.BuildVolume": { + "description": "BuildVolume describes a volume that is made available to build pods, such that it can be mounted into buildah's runtime environment. Only a subset of Kubernetes Volume sources are supported.", + "properties": { + "mounts": { + "description": "mounts represents the location of the volume in the image build container", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildVolumeMount" + } + ], + "default": {} + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "destinationPath" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "destinationPath", + "x-kubernetes-patch-strategy": "merge" + }, + "name": { + "default": "", + "description": "name is a unique identifier for this BuildVolume. It must conform to the Kubernetes DNS label standard and be unique within the pod. Names that collide with those added by the build controller will result in a failed build with an error message detailing which name caused the error. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "source": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildVolumeSource" } ], "default": {}, - "description": "Status is filled in by the server and indicates whether the request is allowed or not" + "description": "source represents the location and type of the mounted volume." } }, "required": [ - "spec" + "name", + "source", + "mounts" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.k8s.io", - "kind": "LocalSubjectAccessReview", - "version": "v1" - } - ] + "type": "object" }, - "authorization.k8s.io/v1/SelfSubjectAccessReview": { - "description": "SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a spec.namespace means \"in all namespaces\". Self is a special case, because users should always be able to check whether they can perform an action", - "namespaced": false, + "com.github.openshift.api.build.v1.BuildVolumeMount": { + "description": "BuildVolumeMount describes the mounting of a Volume within buildah's runtime environment.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "destinationPath": { + "default": "", + "description": "destinationPath is the path within the buildah runtime environment at which the volume should be mounted. The transient mount within the build image and the backing volume will both be mounted read only. Must be an absolute path, must not contain '..' or ':', and must not collide with a destination path generated by the builder process Paths that collide with those added by the build controller will result in a failed build with an error message detailing which path caused the error.", "type": "string" + } + }, + "required": [ + "destinationPath" + ], + "type": "object" + }, + "com.github.openshift.api.build.v1.BuildVolumeSource": { + "description": "BuildVolumeSource represents the source of a volume to mount Only one of its supported types may be specified at any given time.", + "properties": { + "configMap": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.ConfigMapVolumeSource" + } + ], + "description": "configMap represents a ConfigMap that should populate this volume" }, - "metadata": { + "csi": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.CSIVolumeSource" } ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "csi represents ephemeral storage provided by external CSI drivers which support this capability" }, - "spec": { + "secret": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectAccessReviewSpec" + "$ref": "#/components/schemas/io.k8s.api.core.v1.SecretVolumeSource" } ], - "default": {}, - "description": "Spec holds information about the request being evaluated. user and groups must be empty" + "description": "secret represents a Secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret" }, - "status": { + "type": { + "default": "", + "description": "type is the BuildVolumeSourceType for the volume source. Type must match the populated volume source. Valid types are: Secret, ConfigMap", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "com.github.openshift.api.build.v1.ConfigMapBuildSource": { + "description": "ConfigMapBuildSource describes a configmap and its destination directory that will be used only at the build time. The content of the configmap referenced here will be copied into the destination directory instead of mounting.", + "properties": { + "configMap": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus" + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" } ], "default": {}, - "description": "Status is filled in by the server and indicates whether the request is allowed or not" + "description": "configMap is a reference to an existing configmap that you want to use in your build." + }, + "destinationDir": { + "description": "destinationDir is the directory where the files from the configmap should be available for the build time. For the Source build strategy, these will be injected into a container where the assemble script runs. For the container image build strategy, these will be copied into the build directory, where the Dockerfile is located, so users can ADD or COPY them during container image build.", + "type": "string" } }, "required": [ - "spec" + "configMap" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.k8s.io", - "kind": "SelfSubjectAccessReview", - "version": "v1" - } - ] + "type": "object" }, - "authorization.k8s.io/v1/SelfSubjectRulesReview": { - "description": "SelfSubjectRulesReview enumerates the set of actions the current user can perform within a namespace. The returned list of actions may be incomplete depending on the server's authorization mode, and any errors experienced during the evaluation. SelfSubjectRulesReview should be used by UIs to show/hide actions, or to quickly let an end user reason about their permissions. It should NOT Be used by external systems to drive authorization decisions as this raises confused deputy, cache lifetime/revocation, and correctness concerns. SubjectAccessReview, and LocalAccessReview are the correct way to defer authorization decisions to the API server.", - "namespaced": false, + "com.github.openshift.api.build.v1.CustomBuildStrategy": { + "description": "CustomBuildStrategy defines input parameters specific to Custom build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "buildAPIVersion": { + "description": "buildAPIVersion is the requested API version for the Build object serialized and passed to the custom builder", "type": "string" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "env": { + "description": "env contains additional environment variables you want to pass into a builder container.", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" + } + ], + "default": {} + }, + "type": "array" }, - "metadata": { + "exposeDockerSocket": { + "description": "exposeDockerSocket will allow running Docker commands (and build container images) from inside the container.", + "type": "boolean" + }, + "forcePull": { + "description": "forcePull describes if the controller should configure the build pod to always pull the images for the builder or only pull if it is not present locally", + "type": "boolean" + }, + "from": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which the container image should be pulled" }, - "spec": { + "pullSecret": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SelfSubjectRulesReviewSpec" + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" } ], - "default": {}, - "description": "Spec holds information about the request being evaluated." + "description": "pullSecret is the name of a Secret that would be used for setting up the authentication for pulling the container images from the private Docker registries" }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectRulesReviewStatus" - } - ], - "default": {}, - "description": "Status is filled in by the server and indicates the set of actions a user can perform." - } - }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.k8s.io", - "kind": "SelfSubjectRulesReview", - "version": "v1" - } - ] - }, - "authorization.k8s.io/v1/SubjectAccessReview": { - "description": "SubjectAccessReview checks whether or not a user or group can perform an action.", - "namespaced": false, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "default": {}, - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewSpec" - } - ], - "default": {}, - "description": "Spec holds information about the request being evaluated" - }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.authorization.v1.SubjectAccessReviewStatus" - } - ], - "default": {}, - "description": "Status is filled in by the server and indicates whether the request is allowed or not" - } - }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.k8s.io", - "kind": "SubjectAccessReview", - "version": "v1" - } - ] - }, - "authorization.openshift.io/v1/ClusterRole": { - "description": "ClusterRole is a logical grouping of PolicyRules that can be referenced as a unit by ClusterRoleBindings.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": false, - "properties": { - "aggregationRule": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.rbac.v1.AggregationRule" - } - ], - "description": "AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller." - }, - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "default": {}, - "description": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "rules": { - "description": "Rules holds all the PolicyRules for this ClusterRole", + "secrets": { + "description": "secrets is a list of additional secrets that will be included in the build pod", "items": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.PolicyRule" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SecretSpec" } ], "default": {} @@ -5244,63507 +1806,8482 @@ } }, "required": [ - "rules" + "from" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "ClusterRole", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/ClusterRoleBinding": { - "description": "ClusterRoleBinding references a ClusterRole, but not contain it. It can reference any ClusterRole in the same namespace or in the global namespace. It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. ClusterRoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces).\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": false, + "com.github.openshift.api.build.v1.DockerBuildStrategy": { + "description": "DockerBuildStrategy defines input parameters specific to container image build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "groupNames": { - "description": "GroupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "items": { - "default": "", - "type": "string" - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "default": {}, - "description": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "roleRef": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" - } - ], - "default": {}, - "description": "RoleRef can only reference the current namespace and the global namespace. If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role." - }, - "subjects": { - "description": "Subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", + "buildArgs": { + "description": "buildArgs contains build arguments that will be resolved in the Dockerfile. See https://docs.docker.com/engine/reference/builder/#/arg for more details. NOTE: Only the 'name' and 'value' fields are supported. Any settings on the 'valueFrom' field are ignored.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" } ], "default": {} }, "type": "array" }, - "userNames": { - "description": "UserNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "items": { - "default": "", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "subjects", - "roleRef" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "ClusterRoleBinding", - "version": "v1" - } - ] - }, - "authorization.openshift.io/v1/ClusterRoleBindingList": { - "description": "ClusterRoleBindingList is a collection of ClusterRoleBindings\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "dockerfilePath": { + "description": "dockerfilePath is the path of the Dockerfile that will be used to build the container image, relative to the root of the context (contextDir). Defaults to `Dockerfile` if unset.", "type": "string" }, - "items": { - "description": "Items is a list of ClusterRoleBindings", + "env": { + "description": "env contains additional environment variables you want to pass into a builder container.", "items": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.ClusterRoleBinding" + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "forcePull": { + "description": "forcePull describes if the builder should pull the images from registry prior to building.", + "type": "boolean" + }, + "from": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" + } + ], + "description": "from is a reference to an DockerImage, ImageStreamTag, or ImageStreamImage which overrides the FROM image in the Dockerfile for the build. If the Dockerfile uses multi-stage builds, this will replace the image in the last FROM directive of the file." + }, + "imageOptimizationPolicy": { + "description": "imageOptimizationPolicy describes what optimizations the system can use when building images to reduce the final size or time spent building the image. The default policy is 'None' which means the final build image will be equivalent to an image created by the container image build API. The experimental policy 'SkipLayers' will avoid commiting new layers in between each image step, and will fail if the Dockerfile cannot provide compatibility with the 'None' policy. An additional experimental policy 'SkipLayersAndWarn' is the same as 'SkipLayers' but simply warns if compatibility cannot be preserved.", "type": "string" }, - "metadata": { + "noCache": { + "description": "noCache if set to true indicates that the container image build must be executed with the --no-cache=true flag", + "type": "boolean" + }, + "pullSecret": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" } ], - "default": {}, - "description": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "pullSecret is the name of a Secret that would be used for setting up the authentication for pulling the container images from the private Docker registries" + }, + "volumes": { + "description": "volumes is a list of input volumes that can be mounted into the builds runtime environment. Only a subset of Kubernetes Volume sources are supported by builds. More info: https://kubernetes.io/docs/concepts/storage/volumes", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildVolume" + } + ], + "default": {} + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge" } }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "ClusterRoleBindingList", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/ClusterRoleList": { - "description": "ClusterRoleList is a collection of ClusterRoles\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.DockerStrategyOptions": { + "description": "DockerStrategyOptions contains extra strategy options for container image builds", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is a list of ClusterRoles", + "buildArgs": { + "description": "Args contains any build arguments that are to be passed to Docker. See https://docs.docker.com/engine/reference/builder/#/arg for more details", "items": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.ClusterRole" + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" - } - ], - "default": {}, - "description": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "noCache": { + "description": "noCache overrides the docker-strategy noCache option in the build config", + "type": "boolean" } }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "ClusterRoleList", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/LocalResourceAccessReview": { - "description": "LocalResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec in a particular namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.GenericWebHookCause": { + "description": "GenericWebHookCause holds information about a generic WebHook that triggered a build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "content": { + "revision": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceRevision" } ], - "description": "Content is the actual content of the request for create and update" + "description": "revision is an optional field that stores the git source revision information of the generic webhook trigger when it is available." }, - "isNonResourceURL": { - "default": false, - "description": "IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy)", - "type": "boolean" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "namespace": { - "default": "", - "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", - "type": "string" - }, - "path": { - "default": "", - "description": "Path is the path of a non resource URL", + "secret": { + "description": "secret is the obfuscated webhook secret that triggered a build.", "type": "string" - }, - "resource": { - "default": "", - "description": "Resource is one of the existing resource types", + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.GitBuildSource": { + "description": "GitBuildSource defines the parameters of a Git SCM", + "properties": { + "httpProxy": { + "description": "httpProxy is a proxy used to reach the git repository over http", "type": "string" }, - "resourceAPIGroup": { - "default": "", - "description": "Group is the API group of the resource Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined", + "httpsProxy": { + "description": "httpsProxy is a proxy used to reach the git repository over https", "type": "string" }, - "resourceAPIVersion": { - "default": "", - "description": "Version is the API version of the resource Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined", + "noProxy": { + "description": "noProxy is the list of domains for which the proxy should not be used", "type": "string" }, - "resourceName": { - "default": "", - "description": "ResourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", + "ref": { + "description": "ref is the branch/tag/ref to build.", "type": "string" }, - "verb": { + "uri": { "default": "", - "description": "Verb is one of: get, list, watch, create, update, delete", + "description": "uri points to the source that will be built. The structure of the source will depend on the type of build to run", "type": "string" } }, "required": [ - "namespace", - "verb", - "resourceAPIGroup", - "resourceAPIVersion", - "resource", - "resourceName", - "path", - "isNonResourceURL" + "uri" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "LocalResourceAccessReview", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/LocalSubjectAccessReview": { - "description": "LocalSubjectAccessReview is an object for requesting information about whether a user or group can perform an action in a particular namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.GitHubWebHookCause": { + "description": "GitHubWebHookCause has information about a GitHub webhook that triggered a build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "content": { + "revision": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceRevision" } ], - "description": "Content is the actual content of the request for create and update" + "description": "revision is the git revision information of the trigger." }, - "groups": { - "description": "Groups is optional. Groups is the list of groups to which the User belongs.", - "items": { - "default": "", - "type": "string" - }, - "type": "array" - }, - "isNonResourceURL": { - "default": false, - "description": "IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy)", - "type": "boolean" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "namespace": { - "default": "", - "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", - "type": "string" - }, - "path": { - "default": "", - "description": "Path is the path of a non resource URL", - "type": "string" - }, - "resource": { - "default": "", - "description": "Resource is one of the existing resource types", - "type": "string" - }, - "resourceAPIGroup": { - "default": "", - "description": "Group is the API group of the resource Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined", - "type": "string" - }, - "resourceAPIVersion": { - "default": "", - "description": "Version is the API version of the resource Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined", - "type": "string" - }, - "resourceName": { - "default": "", - "description": "ResourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", - "type": "string" - }, - "scopes": { - "description": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", - "items": { - "default": "", - "type": "string" - }, - "type": "array" - }, - "user": { - "default": "", - "description": "User is optional. If both User and Groups are empty, the current authenticated user is used.", - "type": "string" - }, - "verb": { - "default": "", - "description": "Verb is one of: get, list, watch, create, update, delete", + "secret": { + "description": "secret is the obfuscated webhook secret that triggered a build.", "type": "string" } }, - "required": [ - "namespace", - "verb", - "resourceAPIGroup", - "resourceAPIVersion", - "resource", - "resourceName", - "path", - "isNonResourceURL", - "user", - "groups", - "scopes" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "LocalSubjectAccessReview", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/ResourceAccessReview": { - "description": "ResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": false, + "com.github.openshift.api.build.v1.GitLabWebHookCause": { + "description": "GitLabWebHookCause has information about a GitLab webhook that triggered a build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "content": { + "revision": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceRevision" } ], - "description": "Content is the actual content of the request for create and update" - }, - "isNonResourceURL": { - "default": false, - "description": "IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy)", - "type": "boolean" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "namespace": { - "default": "", - "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", - "type": "string" - }, - "path": { - "default": "", - "description": "Path is the path of a non resource URL", - "type": "string" + "description": "Revision is the git source revision information of the trigger." }, - "resource": { - "default": "", - "description": "Resource is one of the existing resource types", + "secret": { + "description": "Secret is the obfuscated webhook secret that triggered a build.", "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.GitSourceRevision": { + "description": "GitSourceRevision is the commit information from a git source for a build", + "properties": { + "author": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceControlUser" + } + ], + "default": {}, + "description": "author is the author of a specific commit" }, - "resourceAPIGroup": { - "default": "", - "description": "Group is the API group of the resource Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined", + "commit": { + "description": "commit is the commit hash identifying a specific commit", "type": "string" }, - "resourceAPIVersion": { - "default": "", - "description": "Version is the API version of the resource Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined", - "type": "string" + "committer": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SourceControlUser" + } + ], + "default": {}, + "description": "committer is the committer of a specific commit" }, - "resourceName": { - "default": "", - "description": "ResourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", + "message": { + "description": "message is the description of a specific commit", "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.ImageChangeCause": { + "description": "ImageChangeCause contains information about the image that triggered a build", + "properties": { + "fromRef": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" + } + ], + "description": "fromRef contains detailed information about an image that triggered a build." }, - "verb": { - "default": "", - "description": "Verb is one of: get, list, watch, create, update, delete", + "imageID": { + "description": "imageID is the ID of the image that triggered a new build.", "type": "string" } }, - "required": [ - "namespace", - "verb", - "resourceAPIGroup", - "resourceAPIVersion", - "resource", - "resourceName", - "path", - "isNonResourceURL" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "ResourceAccessReview", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/Role": { - "description": "Role is a logical grouping of PolicyRules that can be referenced as a unit by RoleBindings.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.ImageChangeTrigger": { + "description": "ImageChangeTrigger allows builds to be triggered when an ImageStream changes", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" + "from": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" + } + ], + "description": "from is a reference to an ImageStreamTag that will trigger a build when updated It is optional. If no From is specified, the From image from the build strategy will be used. Only one ImageChangeTrigger with an empty From reference is allowed in a build configuration." }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "lastTriggeredImageID": { + "description": "lastTriggeredImageID is used internally by the ImageChangeController to save last used image ID for build This field is deprecated and will be removed in a future release. Deprecated", "type": "string" }, - "metadata": { + "paused": { + "description": "paused is true if this trigger is temporarily disabled. Optional.", + "type": "boolean" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.ImageChangeTriggerStatus": { + "description": "ImageChangeTriggerStatus tracks the latest resolved status of the associated ImageChangeTrigger policy specified in the BuildConfigSpec.Triggers struct.", + "properties": { + "from": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageStreamTagReference" } ], "default": {}, - "description": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "from is the ImageStreamTag that is the source of the trigger." }, - "rules": { - "description": "Rules holds all the PolicyRules for this Role", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.PolicyRule" - } - ], - "default": {} - }, - "type": "array" + "lastTriggerTime": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + ], + "description": "lastTriggerTime is the last time this particular ImageStreamTag triggered a Build to start. This field is only updated when this trigger specifically started a Build." + }, + "lastTriggeredImageID": { + "description": "lastTriggeredImageID represents the sha/id of the ImageStreamTag when a Build for this BuildConfig was started. The lastTriggeredImageID is updated each time a Build for this BuildConfig is started, even if this ImageStreamTag is not the reason the Build is started.", + "type": "string" } }, - "required": [ - "rules" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "Role", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/RoleBinding": { - "description": "RoleBinding references a Role, but not contain it. It can reference any Role in the same namespace or in the global namespace. It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces).\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.ImageLabel": { + "description": "ImageLabel represents a label applied to the resulting image.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "name": { + "default": "", + "description": "name defines the name of the label. It must have non-zero length.", "type": "string" }, - "groupNames": { - "description": "GroupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "value": { + "description": "value defines the literal value of the label.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "com.github.openshift.api.build.v1.ImageSource": { + "description": "ImageSource is used to describe build source that will be extracted from an image or used during a multi stage build. A reference of type ImageStreamTag, ImageStreamImage or DockerImage may be used. A pull secret can be specified to pull the image from an external registry or override the default service account secret if pulling from the internal registry. Image sources can either be used to extract content from an image and place it into the build context along with the repository source, or used directly during a multi-stage container image build to allow content to be copied without overwriting the contents of the repository source (see the 'paths' and 'as' fields).", + "properties": { + "as": { + "description": "A list of image names that this source will be used in place of during a multi-stage container image build. For instance, a Dockerfile that uses \"COPY --from=nginx:latest\" will first check for an image source that has \"nginx:latest\" in this field before attempting to pull directly. If the Dockerfile does not reference an image source it is ignored. This field and paths may both be set, in which case the contents will be used twice.", "items": { "default": "", "type": "string" }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "default": {}, - "description": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "roleRef": { + "from": { "allOf": [ { "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], "default": {}, - "description": "RoleRef can only reference the current namespace and the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role." + "description": "from is a reference to an ImageStreamTag, ImageStreamImage, or DockerImage to copy source from." }, - "subjects": { - "description": "Subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", + "paths": { + "description": "paths is a list of source and destination paths to copy from the image. This content will be copied into the build context prior to starting the build. If no paths are set, the build context will not be altered.", "items": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.ImageSourcePath" } ], "default": {} }, "type": "array" }, - "userNames": { - "description": "UserNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "items": { - "default": "", - "type": "string" - }, - "type": "array" + "pullSecret": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" + } + ], + "description": "pullSecret is a reference to a secret to be used to pull the image from a registry If the image is pulled from the OpenShift registry, this field does not need to be set." } }, "required": [ - "subjects", - "roleRef" + "from" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "RoleBinding", - "version": "v1" + "type": "object" + }, + "com.github.openshift.api.build.v1.ImageSourcePath": { + "description": "ImageSourcePath describes a path to be copied from a source image and its destination within the build directory.", + "properties": { + "destinationDir": { + "default": "", + "description": "destinationDir is the relative directory within the build directory where files copied from the image are placed.", + "type": "string" + }, + "sourcePath": { + "default": "", + "description": "sourcePath is the absolute path of the file or directory inside the image to copy to the build directory. If the source path ends in /. then the content of the directory will be copied, but the directory itself will not be created at the destination.", + "type": "string" } - ] + }, + "required": [ + "sourcePath", + "destinationDir" + ], + "type": "object" }, - "authorization.openshift.io/v1/RoleBindingList": { - "description": "RoleBindingList is a collection of RoleBindings\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.ImageStreamTagReference": { + "description": "ImageStreamTagReference references the ImageStreamTag in an image change trigger by namespace and name.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "name": { + "description": "name is the name of the ImageStreamTag for an ImageChangeTrigger", "type": "string" }, - "items": { - "description": "Items is a list of RoleBindings", + "namespace": { + "description": "namespace is the namespace where the ImageStreamTag for an ImageChangeTrigger is located", + "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.JenkinsPipelineBuildStrategy": { + "description": "JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build. Deprecated: use OpenShift Pipelines", + "properties": { + "env": { + "description": "env contains additional environment variables you want to pass into a build pipeline.", "items": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.RoleBinding" + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "jenkinsfile": { + "description": "Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build.", "type": "string" }, - "metadata": { + "jenkinsfilePath": { + "description": "JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to Jenkinsfile in the root of the specified contextDir.", + "type": "string" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.SecretBuildSource": { + "description": "SecretBuildSource describes a secret and its destination directory that will be used only at the build time. The content of the secret referenced here will be copied into the destination directory instead of mounting.", + "properties": { + "destinationDir": { + "description": "destinationDir is the directory where the files from the secret should be available for the build time. For the Source build strategy, these will be injected into a container where the assemble script runs. Later, when the script finishes, all files injected will be truncated to zero length. For the container image build strategy, these will be copied into the build directory, where the Dockerfile is located, so users can ADD or COPY them during container image build.", + "type": "string" + }, + "secret": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" } ], "default": {}, - "description": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "secret is a reference to an existing secret that you want to use in your build." } }, "required": [ - "items" + "secret" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "RoleBindingList", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/RoleBindingRestriction": { - "description": "RoleBindingRestriction is an object that can be matched against a subject\n(user, group, or service account) to determine whether rolebindings on that\nsubject are allowed in the namespace to which the RoleBindingRestriction\nbelongs. If any one of those RoleBindingRestriction objects matches\na subject, rolebindings on that subject in the namespace are allowed.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.SecretLocalReference": { + "description": "SecretLocalReference contains information that points to the local secret being used", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "name": { + "default": "", + "description": "Name is the name of the resource in the same namespace being referenced", "type": "string" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" - } - ], - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "description": "spec defines the matcher.", - "properties": { - "grouprestriction": { - "description": "grouprestriction matches against group subjects.", - "nullable": true, - "properties": { - "groups": { - "description": "groups is a list of groups used to match against an individual user's\ngroups. If the user is a member of one of the whitelisted groups, the user\nis allowed to be bound to a role.", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "labels": { - "description": "Selectors specifies a list of label selectors over group labels.", - "items": { - "description": "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "nullable": true, - "type": "array" - } - }, - "type": "object" - }, - "serviceaccountrestriction": { - "description": "serviceaccountrestriction matches against service-account subjects.", - "nullable": true, - "properties": { - "namespaces": { - "description": "namespaces specifies a list of literal namespace names.", - "items": { - "type": "string" - }, - "type": "array" - }, - "serviceaccounts": { - "description": "serviceaccounts specifies a list of literal service-account names.", - "items": { - "description": "ServiceAccountReference specifies a service account and namespace by their\nnames.", - "properties": { - "name": { - "description": "name is the name of the service account.", - "type": "string" - }, - "namespace": { - "description": "namespace is the namespace of the service account. Service accounts from\ninside the whitelisted namespaces are allowed to be bound to roles. If\nNamespace is empty, then the namespace of the RoleBindingRestriction in\nwhich the ServiceAccountReference is embedded is used.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "userrestriction": { - "description": "userrestriction matches against user subjects.", - "nullable": true, - "properties": { - "groups": { - "description": "groups specifies a list of literal group names.", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "labels": { - "description": "Selectors specifies a list of label selectors over user labels.", - "items": { - "description": "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects.", - "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", - "properties": { - "key": { - "description": "key is the label key that the selector applies to.", - "type": "string" - }, - "operator": { - "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", - "type": "string" - }, - "values": { - "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - } - }, - "required": [ - "key", - "operator" - ], - "type": "object" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "matchLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", - "type": "object" - } - }, - "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "nullable": true, - "type": "array" - }, - "users": { - "description": "users specifies a list of literal user names.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "type": "object" } }, - "required": [], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "RoleBindingRestriction", - "version": "v1" - } - ] + "required": [ + "name" + ], + "type": "object" }, - "authorization.openshift.io/v1/RoleBindingRestrictionList": { - "description": "RoleBindingRestrictionList is a list of RoleBindingRestriction", - "namespaced": true, + "com.github.openshift.api.build.v1.SecretSpec": { + "description": "SecretSpec specifies a secret to be included in a build pod and its corresponding mount point", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "List of rolebindingrestrictions. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md", - "items": { - "$ref": "#/components/schemas/io.openshift.authorization.v1.RoleBindingRestriction" - }, - "type": "array" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "mountPath": { + "default": "", + "description": "mountPath is the path at which to mount the secret", "type": "string" }, - "metadata": { + "secretSource": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" } ], - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "default": {}, + "description": "secretSource is a reference to the secret" } }, "required": [ - "items" + "secretSource", + "mountPath" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "RoleBindingRestrictionList", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/RoleList": { - "description": "RoleList is a collection of Roles\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.build.v1.SourceBuildStrategy": { + "description": "SourceBuildStrategy defines input parameters specific to an Source build.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "Items is a list of Roles", + "env": { + "description": "env contains additional environment variables you want to pass into a builder container.", "items": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.Role" + "$ref": "#/components/schemas/io.k8s.api.core.v1.EnvVar" } ], "default": {} }, "type": "array" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "forcePull": { + "description": "forcePull describes if the builder should pull the images from registry prior to building.", + "type": "boolean" }, - "metadata": { + "from": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" } ], "default": {}, - "description": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which the container image should be pulled" + }, + "incremental": { + "description": "incremental flag forces the Source build to do incremental builds if true.", + "type": "boolean" + }, + "pullSecret": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" + } + ], + "description": "pullSecret is the name of a Secret that would be used for setting up the authentication for pulling the container images from the private Docker registries" + }, + "scripts": { + "description": "scripts is the location of Source scripts", + "type": "string" + }, + "volumes": { + "description": "volumes is a list of input volumes that can be mounted into the builds runtime environment. Only a subset of Kubernetes Volume sources are supported by builds. More info: https://kubernetes.io/docs/concepts/storage/volumes", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.BuildVolume" + } + ], + "default": {} + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge" } }, "required": [ - "items" + "from" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "RoleList", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/SelfSubjectRulesReview": { - "description": "SelfSubjectRulesReview is a resource you can create to determine which actions you can perform in a namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": false, + "com.github.openshift.api.build.v1.SourceControlUser": { + "description": "SourceControlUser defines the identity of a user of source control", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "email": { + "description": "email of the source control user", "type": "string" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "name": { + "description": "name of the source control user", "type": "string" - }, - "spec": { + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.SourceRevision": { + "description": "SourceRevision is the revision or commit information from the source for the build", + "properties": { + "git": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.SelfSubjectRulesReviewSpec" + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.GitSourceRevision" } ], - "default": {}, - "description": "Spec adds information about how to conduct the check" + "description": "Git contains information about git-based build source" }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.SubjectRulesReviewStatus" - } - ], - "default": {}, - "description": "Status is completed by the server to tell which permissions you have" + "type": { + "default": "", + "description": "type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or 'Images'", + "type": "string" } }, "required": [ - "spec" + "type" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "SelfSubjectRulesReview", - "version": "v1" + "type": "object" + }, + "com.github.openshift.api.build.v1.SourceStrategyOptions": { + "description": "SourceStrategyOptions contains extra strategy options for Source builds", + "properties": { + "incremental": { + "description": "incremental overrides the source-strategy incremental option in the build config", + "type": "boolean" } - ] + }, + "type": "object" }, - "authorization.openshift.io/v1/SubjectAccessReview": { - "description": "SubjectAccessReview is an object for requesting information about whether a user or group can perform an action\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": false, + "com.github.openshift.api.build.v1.StageInfo": { + "description": "StageInfo contains details about a build stage.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "durationMilliseconds": { + "description": "durationMilliseconds identifies how long the stage took to complete in milliseconds. Note: the duration of a stage can exceed the sum of the duration of the steps within the stage as not all actions are accounted for in explicit build steps.", + "format": "int64", + "type": "integer" + }, + "name": { + "description": "name is a unique identifier for each build stage that occurs.", "type": "string" }, - "content": { + "startTime": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.runtime.RawExtension" + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" } ], - "description": "Content is the actual content of the request for create and update" + "description": "startTime is a timestamp representing the server time when this Stage started. It is represented in RFC3339 form and is in UTC." }, - "groups": { - "description": "GroupsSlice is optional. Groups is the list of groups to which the User belongs.", + "steps": { + "description": "steps contains details about each step that occurs during a build stage including start time and duration in milliseconds.", "items": { - "default": "", - "type": "string" + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.StepInfo" + } + ], + "default": {} }, "type": "array" + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.StepInfo": { + "description": "StepInfo contains details about a build step.", + "properties": { + "durationMilliseconds": { + "description": "durationMilliseconds identifies how long the step took to complete in milliseconds.", + "format": "int64", + "type": "integer" }, - "isNonResourceURL": { - "default": false, - "description": "IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy)", - "type": "boolean" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "namespace": { - "default": "", - "description": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", - "type": "string" - }, - "path": { - "default": "", - "description": "Path is the path of a non resource URL", + "name": { + "description": "name is a unique identifier for each build step.", "type": "string" }, - "resource": { - "default": "", - "description": "Resource is one of the existing resource types", - "type": "string" + "startTime": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + ], + "description": "startTime is a timestamp representing the server time when this Step started. it is represented in RFC3339 form and is in UTC." + } + }, + "type": "object" + }, + "com.github.openshift.api.build.v1.WebHookTrigger": { + "description": "WebHookTrigger is a trigger that gets invoked using a webhook type of post", + "properties": { + "allowEnv": { + "description": "allowEnv determines whether the webhook can set environment variables; can only be set to true for GenericWebHook.", + "type": "boolean" }, - "resourceAPIGroup": { - "default": "", - "description": "Group is the API group of the resource Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined", + "secret": { + "description": "secret used to validate requests. Deprecated: use SecretReference instead.", "type": "string" }, - "resourceAPIVersion": { - "default": "", - "description": "Version is the API version of the resource Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined", + "secretReference": { + "allOf": [ + { + "$ref": "#/components/schemas/com.github.openshift.api.build.v1.SecretLocalReference" + } + ], + "description": "secretReference is a reference to a secret in the same namespace, containing the value to be validated when the webhook is invoked. The secret being referenced must contain a key named \"WebHookSecretKey\", the value of which will be checked against the value supplied in the webhook invocation." + } + }, + "type": "object" + }, + "com.github.openshift.api.image.v1.ImageBlobReferences": { + "description": "ImageBlobReferences describes the blob references within an image.", + "properties": { + "config": { + "description": "config, if set, is the blob that contains the image config. Some images do not have separate config blobs and this field will be set to nil if so.", "type": "string" }, - "resourceName": { - "default": "", - "description": "ResourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", - "type": "string" + "imageMissing": { + "default": false, + "description": "imageMissing is true if the image is referenced by the image stream but the image object has been deleted from the API by an administrator. When this field is set, layers and config fields may be empty and callers that depend on the image metadata should consider the image to be unavailable for download or viewing.", + "type": "boolean" }, - "scopes": { - "description": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", + "layers": { + "description": "layers is the list of blobs that compose this image, from base layer to top layer. All layers referenced by this array will be defined in the blobs map. Some images may have zero layers.", "items": { "default": "", "type": "string" }, "type": "array" }, - "user": { - "default": "", - "description": "User is optional. If both User and Groups are empty, the current authenticated user is used.", - "type": "string" - }, - "verb": { - "default": "", - "description": "Verb is one of: get, list, watch, create, update, delete", - "type": "string" + "manifests": { + "description": "manifests is the list of other image names that this image points to. For a single architecture image, it is empty. For a multi-arch image, it consists of the digests of single architecture images, such images shouldn't have layers nor config.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" } }, - "required": [ - "namespace", - "verb", - "resourceAPIGroup", - "resourceAPIVersion", - "resource", - "resourceName", - "path", - "isNonResourceURL", - "user", - "groups", - "scopes" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "SubjectAccessReview", - "version": "v1" - } - ] + "type": "object" }, - "authorization.openshift.io/v1/SubjectRulesReview": { - "description": "SubjectRulesReview is a resource you can create to determine which actions another user can perform in a namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespaced": true, + "com.github.openshift.api.image.v1.ImageImportSpec": { + "description": "ImageImportSpec describes a request to import a specific image.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" + "from": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.ObjectReference" + } + ], + "default": {}, + "description": "From is the source of an image to import; only kind DockerImage is allowed" }, - "spec": { + "importPolicy": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.SubjectRulesReviewSpec" + "$ref": "#/components/schemas/com.github.openshift.api.image.v1.TagImportPolicy" } ], "default": {}, - "description": "Spec adds information about how to conduct the check" + "description": "ImportPolicy is the policy controlling how the image is imported" }, - "status": { + "includeManifest": { + "description": "IncludeManifest determines if the manifest for each image is returned in the response", + "type": "boolean" + }, + "referencePolicy": { "allOf": [ { - "$ref": "#/components/schemas/com.github.openshift.api.authorization.v1.SubjectRulesReviewStatus" + "$ref": "#/components/schemas/com.github.openshift.api.image.v1.TagReferencePolicy" } ], "default": {}, - "description": "Status is completed by the server to tell which permissions you have" + "description": "ReferencePolicy defines how other components should consume the image" + }, + "to": { + "allOf": [ + { + "$ref": "#/components/schemas/io.k8s.api.core.v1.LocalObjectReference" + } + ], + "description": "To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used" } }, "required": [ - "spec" + "from" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "authorization.openshift.io", - "kind": "SubjectRulesReview", - "version": "v1" - } - ] + "type": "object" }, - "autoscaling.openshift.io/v1/ClusterAutoscaler": { - "description": "ClusterAutoscaler is the Schema for the clusterautoscalers API", - "namespaced": false, + "com.github.openshift.api.image.v1.ImageImportStatus": { + "description": "ImageImportStatus describes the result of an image import.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { + "image": { "allOf": [ { - "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + "$ref": "#/components/schemas/com.github.openshift.api.image.v1.Image" } ], - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "description": "Desired state of ClusterAutoscaler resource", - "properties": { - "balanceSimilarNodeGroups": { - "description": "BalanceSimilarNodeGroups enables/disables the\n`--balance-similar-node-groups` cluster-autoscaler feature.\nThis feature will automatically identify node groups with\nthe same instance type and the same set of labels and try\nto keep the respective sizes of those node groups balanced.", - "type": "boolean" - }, - "balancingIgnoredLabels": { - "description": "BalancingIgnoredLabels sets \"--balancing-ignore-label