      labels:
        additionalProperties:
          type: string
        description: |-
          Map of string keys and values that can be used to organize and categorize
          (scope and select) objects. May match selectors of replication controllers
          and services.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
          +optional
        type: object
      managedFields:
        description: |-
          ManagedFields maps workflow-id and version to the set of fields
          that are managed by that workflow. This is mostly for internal
          housekeeping, and users typically shouldn't need to set or
          understand this field. A workflow can be the user's name, a
          controller's name, or the name of a specific apply path like
          "ci-cd". The set of fields is always in the version that the
          workflow used when modifying the object.

          +optional
          +listType=atomic
        items:
          $ref: '#/definitions/v1.ManagedFieldsEntry'
        type: array
      name:
        description: |-
          Name must be unique within a namespace. Is required when creating resources, although
          some resources may allow a client to request the generation of an appropriate name
          automatically. Name is primarily intended for creation idempotence and configuration
          definition.
          Cannot be updated.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
          +optional
        type: string
      namespace:
        description: |-
          Namespace defines the space within which each name must be unique. An empty namespace is
          equivalent to the "default" namespace, but "default" is the canonical representation.
          Not all objects are required to be scoped to a namespace - the value of this field for
          those objects will be empty.

          Must be a DNS_LABEL.
          Cannot be updated.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces
          +optional
        type: string
      ownerReferences:
        description: |-
          List of objects depended by this object. If ALL objects in the list have
          been deleted, this object will be garbage collected. If this object is managed by a controller,
          then an entry in this list will point to this controller, with the controller field set to true.
          There cannot be more than one managing controller.
          +optional
          +patchMergeKey=uid
          +patchStrategy=merge
          +listType=map
          +listMapKey=uid
        items:
          $ref: '#/definitions/v1.OwnerReference'
        type: array
      resourceVersion:
        description: |-
          An opaque value that represents the internal version of this object that can
          be used by clients to determine when objects have changed. May be used for optimistic
          concurrency, change detection, and the watch operation on a resource or set of resources.
          Clients must treat these values as opaque and passed unmodified back to the server.
          They may only be valid for a particular resource or set of resources.

          Populated by the system.
          Read-only.
          Value must be treated as opaque by clients and .
          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
          +optional
        type: string
      selfLink:
        description: |-
          Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.
          +optional
        type: string
      uid:
        description: |-
          UID is the unique in time and space value for this object. It is typically generated by
          the server on successful creation of a resource and is not allowed to change on PUT
          operations.

          Populated by the system.
          Read-only.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
          +optional
        type: string
    type: object
  v1.ObjectReference:
    properties:
      apiVersion:
        description: |-
          API version of the referent.
          +optional
        type: string
      fieldPath:
        description: |-
          If referring to a piece of an object instead of an entire object, this string
          should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
          For example, if the object reference is to a container within a pod, this would take on a value like:
          "spec.containers{name}" (where "name" refers to the name of the container that triggered
          the event) or if no container name is specified "spec.containers[2]" (container with
          index 2 in this pod). This syntax is chosen only to have some well-defined way of
          referencing a part of an object.
          TODO: this design is not final and this field is subject to change in the future.
          +optional
        type: string
      kind:
        description: |-
          Kind of the referent.
          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
          +optional
        type: string
      name:
        description: |-
          Name of the referent.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
          +optional
        type: string
      namespace:
        description: |-
          Namespace of the referent.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
          +optional
        type: string
      resourceVersion:
        description: |-
          Specific resourceVersion to which this reference is made, if any.
          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
          +optional
        type: string
      uid:
        description: |-
          UID of the referent.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
          +optional
        type: string
    type: object
  v1.OwnerReference:
    properties:
      apiVersion:
        description: API version of the referent.
        type: string
      blockOwnerDeletion:
        description: |-
          If true, AND if the owner has the "foregroundDeletion" finalizer, then
          the owner cannot be deleted from the key-value store until this
          reference is removed.
          See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion
          for how the garbage collector interacts with this field and enforces the foreground deletion.
          Defaults to false.
          To set this field, a user needs "delete" permission of the owner,
          otherwise 422 (Unprocessable Entity) will be returned.
          +optional
        type: boolean
      controller:
        description: |-
          If true, this reference points to the managing controller.
          +optional
        type: boolean
      kind:
        description: |-
          Kind of the referent.
          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
        type: string
      name:
        description: |-
          Name of the referent.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
        type: string
      uid:
        description: |-
          UID of the referent.
          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
        type: string
    type: object
  v1.PersistentVolumeAccessMode:
    enum:
    - ReadWriteOnce
    - ReadOnlyMany
    - ReadWriteMany
    - ReadWriteOncePod
    type: string
    x-enum-varnames:
    - ReadWriteOnce
    - ReadOnlyMany
    - ReadWriteMany
    - ReadWriteOncePod
  v1.PersistentVolumeClaimPhase:
    enum:
    - Pending
    - Bound
    - Lost
    type: string
    x-enum-varnames:
    - ClaimPending
    - ClaimBound
    - ClaimLost
  v1.PersistentVolumeMode:
    enum:
    - Block
    - Filesystem
    type: string
    x-enum-varnames:
    - PersistentVolumeBlock
    - PersistentVolumeFilesystem
  v1.PersistentVolumeReclaimPolicy:
    enum:
    - Recycle
    - Delete
    - Retain
    type: string
    x-enum-varnames:
    - PersistentVolumeReclaimRecycle
    - PersistentVolumeReclaimDelete
    - PersistentVolumeReclaimRetain
  v1.Platform:
    properties:
      architecture:
        description: |-
          Architecture field specifies the CPU architecture, for example
          `amd64` or `ppc64le`.
        type: string
      os:
        description: OS specifies the operating system, for example `linux` or `windows`.
        type: string
      os.features:
        description: |-
          OSFeatures is an optional field specifying an array of strings,
          each listing a required OS feature (for example on Windows `win32k`).
        items:
          type: string
        type: array
      os.version:
        description: |-
          OSVersion is an optional field specifying the operating system
          version, for example on Windows `10.0.14393.1066`.
        type: string
      variant:
        description: |-
          Variant is an optional field specifying a variant of the CPU, for
          example `v7` to specify ARMv7 when architecture is `arm`.
        type: string
    type: object
  v1.PolicyRule:
    properties:
      apiGroups:
        description: |-
          APIGroups is the name of the APIGroup that contains the resources.  If multiple API groups are specified, any action requested against one of
          the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
          +optional
          +listType=atomic
        items:
          type: string
        type: array
      nonResourceURLs:
        description: |-
          NonResourceURLs 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
          Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
          Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"),  but not both.
          +optional
          +listType=atomic
        items:
          type: string
        type: array
      resourceNames:
        description: |-
          ResourceNames is an optional white list of names that the rule applies to.  An empty set means that everything is allowed.
          +optional
          +listType=atomic
        items:
          type: string
        type: array
      resources:
        description: |-
          Resources is a list of resources this rule applies to. '*' represents all resources.
          +optional
          +listType=atomic
        items:
          type: string
        type: array
      verbs:
        description: |-
          Verbs is a list of Verbs that apply to ALL the ResourceKinds contained in this rule. '*' represents all verbs.
          +listType=atomic
        items:
          type: string
        type: array
    type: object
  v1.Probe:
    properties:
      exec:
        allOf:
        - $ref: '#/definitions/v1.ExecAction'
        description: |-
          Exec specifies a command to execute in the container.
          +optional
      failureThreshold:
        description: |-
          Minimum consecutive failures for the probe to be considered failed after having succeeded.
          Defaults to 3. Minimum value is 1.
          +optional
        type: integer
      grpc:
        allOf:
        - $ref: '#/definitions/v1.GRPCAction'
        description: |-
          GRPC specifies a GRPC HealthCheckRequest.
          +optional
      httpGet:
        allOf:
        - $ref: '#/definitions/v1.HTTPGetAction'
        description: |-
          HTTPGet specifies an HTTP GET request to perform.
          +optional
      initialDelaySeconds:
        description: |-
          Number of seconds after the container has started before liveness probes are initiated.
          More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
          +optional
        type: integer
      periodSeconds:
        description: |-
          How often (in seconds) to perform the probe.
          Default to 10 seconds. Minimum value is 1.
          +optional
        type: integer
      successThreshold:
        description: |-
          Minimum consecutive successes for the probe to be considered successful after having failed.
          Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
          +optional
        type: integer
      tcpSocket:
        allOf:
        - $ref: '#/definitions/v1.TCPSocketAction'
        description: |-
          TCPSocket specifies a connection to a TCP port.
          +optional
      terminationGracePeriodSeconds:
        description: |-
          Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
          The grace period is the duration in seconds after the processes running in the pod are sent
          a termination signal and the time when the processes are forcibly halted with a kill signal.
          Set this value longer than the expected cleanup time for your process.
          If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
          value overrides the value provided by the pod spec.
          Value must be non-negative integer. The value zero indicates stop immediately via
          the kill signal (no opportunity to shut down).
          This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
          Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
          +optional
        type: integer
      timeoutSeconds:
        description: |-
          Number of seconds after which the probe times out.
          Defaults to 1 second. Minimum value is 1.
          More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
          +optional
        type: integer
    type: object
  v1.ProcMountType:
    enum:
    - Default
    - Unmasked
    type: string
    x-enum-varnames:
    - DefaultProcMount
    - UnmaskedProcMount
  v1.Protocol:
    enum:
    - TCP
    - UDP
    - SCTP
    type: string
    x-enum-varnames:
    - ProtocolTCP
    - ProtocolUDP
    - ProtocolSCTP
  v1.PullPolicy:
    enum:
    - Always
    - Never
    - IfNotPresent
    type: string
    x-enum-varnames:
    - PullAlways
    - PullNever
    - PullIfNotPresent
  v1.RecursiveReadOnlyMode:
    enum:
    - Disabled
    - IfPossible
    - Enabled
    type: string
    x-enum-varnames:
    - RecursiveReadOnlyDisabled
    - RecursiveReadOnlyIfPossible
    - RecursiveReadOnlyEnabled
  v1.ResourceFieldSelector:
    properties:
      containerName:
        description: |-
          Container name: required for volumes, optional for env vars
          +optional
        type: string
      divisor:
        allOf:
        - $ref: '#/definitions/resource.Quantity'
        description: |-
          Specifies the output format of the exposed resources, defaults to "1"
          +optional
      resource:
        description: 'Required: resource to select'
        type: string
    type: object
  v1.ResourceList:
    additionalProperties:
      $ref: '#/definitions/resource.Quantity'
    type: object
  v1.ResourceName:
    enum:
    - cpu
    - memory
    - storage
    - ephemeral-storage
    - pods
    - services
    - replicationcontrollers
    - resourcequotas
    - secrets
    - configmaps
    - persistentvolumeclaims
    - services.nodeports
    - services.loadbalancers
    - requests.cpu
    - requests.memory
    - requests.storage
    - requests.ephemeral-storage
    - limits.cpu
    - limits.memory
    - limits.ephemeral-storage
    type: string
    x-enum-varnames:
    - ResourceCPU
    - ResourceMemory
    - ResourceStorage
    - ResourceEphemeralStorage
    - ResourcePods
    - ResourceServices
    - ResourceReplicationControllers
    - ResourceQuotas
    - ResourceSecrets
    - ResourceConfigMaps
    - ResourcePersistentVolumeClaims
    - ResourceServicesNodePorts
    - ResourceServicesLoadBalancers
    - ResourceRequestsCPU
    - ResourceRequestsMemory
    - ResourceRequestsStorage
    - ResourceRequestsEphemeralStorage
    - ResourceLimitsCPU
    - ResourceLimitsMemory
    - ResourceLimitsEphemeralStorage
  v1.ResourceQuota:
    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
          +optional
        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
          +optional
        type: string
      metadata:
        allOf:
        - $ref: '#/definitions/v1.ObjectMeta'
        description: |-
          Standard object's metadata.
          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
          +optional
      spec:
        allOf:
        - $ref: '#/definitions/v1.ResourceQuotaSpec'
        description: |-
          Spec defines the desired quota.
          https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
          +optional
      status:
        allOf:
        - $ref: '#/definitions/v1.ResourceQuotaStatus'
        description: |-
          Status defines the actual enforced quota and its current usage.
          https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
          +optional
    type: object
  v1.ResourceQuotaScope:
    enum:
    - Terminating
    - NotTerminating
    - BestEffort
    - NotBestEffort
    - PriorityClass
    - CrossNamespacePodAffinity
    - VolumeAttributesClass
    type: string
    x-enum-varnames:
    - ResourceQuotaScopeTerminating
    - ResourceQuotaScopeNotTerminating
    - ResourceQuotaScopeBestEffort
    - ResourceQuotaScopeNotBestEffort
    - ResourceQuotaScopePriorityClass
    - ResourceQuotaScopeCrossNamespacePodAffinity
    - ResourceQuotaScopeVolumeAttributesClass
  v1.ResourceQuotaSpec:
    properties:
      hard:
        allOf:
        - $ref: '#/definitions/v1.ResourceList'
        description: |-
          hard is the set of desired hard limits for each named resource.
          More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
          +optional
      scopeSelector:
        allOf:
        - $ref: '#/definitions/v1.ScopeSelector'
        description: |-
          scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota
          but expressed using ScopeSelectorOperator in combination with possible values.
          For a resource to match, both scopes AND scopeSelector (if specified in spec), must be matched.
          +optional
      scopes:
        description: |-
          A collection of filters that must match each object tracked by a quota.
          If not specified, the quota matches all objects.
          +optional
          +listType=atomic
        items:
          $ref: '#/definitions/v1.ResourceQuotaScope'
        type: array
    type: object
  v1.ResourceQuotaStatus:
    properties:
      hard:
        allOf:
        - $ref: '#/definitions/v1.ResourceList'
        description: |-
          Hard is the set of enforced hard limits for each named resource.
          More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
          +optional
      used:
        allOf:
        - $ref: '#/definitions/v1.ResourceList'
        description: |-
          Used is the current observed total usage of the resource in the namespace.
          +optional
    type: object
  v1.ResourceRequirements:
    properties:
      claims:
        description: |-
          Claims lists the names of resources, defined in spec.resourceClaims,
          that are used by this container.

          This field depends on the
          DynamicResourceAllocation feature gate.

          This field is immutable. It can only be set for containers.

          +listType=map
          +listMapKey=name
          +featureGate=DynamicResourceAllocation
          +optional
        items:
          $ref: '#/definitions/k8s_io_api_core_v1.ResourceClaim'
        type: array
      limits:
        allOf:
        - $ref: '#/definitions/v1.ResourceList'
        description: |-
          Limits describes the maximum amount of compute resources allowed.
          More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
          +optional
      requests:
        allOf:
        - $ref: '#/definitions/v1.ResourceList'
        description: |-
          Requests describes the minimum amount of compute resources required.
          If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
          otherwise to an implementation-defined value. Requests cannot exceed Limits.
          More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
          +optional
    type: object
  v1.ResourceResizeRestartPolicy:
    enum:
    - NotRequired
    - RestartContainer
    type: string
    x-enum-varnames:
    - NotRequired
    - RestartContainer
  v1.RoleRef:
    properties:
      apiGroup:
        description: APIGroup is the group for the resource being referenced
        type: string
      kind:
        description: Kind is the type of resource being referenced
        type: string
      name:
        description: Name is the name of resource being referenced
        type: string
    type: object
  v1.SELinuxOptions:
    properties:
      level:
        description: |-
          Level is SELinux level label that applies to the container.
          +optional
        type: string
      role:
        description: |-
          Role is a SELinux role label that applies to the container.
          +optional
        type: string
      type:
        description: |-
          Type is a SELinux type label that applies to the container.
          +optional
        type: string
      user:
        description: |-
          User is a SELinux user label that applies to the container.
          +optional
        type: string
    type: object
  v1.ScopeSelector:
    properties:
      matchExpressions:
        description: |-
          A list of scope selector requirements by scope of the resources.
          +optional
          +listType=atomic
        items:
          $ref: '#/definitions/v1.ScopedResourceSelectorRequirement'
        type: array
    type: object
  v1.ScopeSelectorOperator:
    enum:
    - In
    - NotIn
    - Exists
    - DoesNotExist
    type: string
    x-enum-varnames:
    - ScopeSelectorOpIn
    - ScopeSelectorOpNotIn
    - ScopeSelectorOpExists
    - ScopeSelectorOpDoesNotExist
  v1.ScopedResourceSelectorRequirement:
    properties:
      operator:
        allOf:
        - $ref: '#/definitions/v1.ScopeSelectorOperator'
        description: |-
          Represents a scope's relationship to a set of values.
          Valid operators are In, NotIn, Exists, DoesNotExist.
      scopeName:
        allOf:
        - $ref: '#/definitions/v1.ResourceQuotaScope'
        description: The name of the scope that the selector applies to.
      values:
        description: |-
          An array of string values. If the operator is In or NotIn,
          the values array must be non-empty. If the operator is Exists or DoesNotExist,
          the values array must be empty.
          This array is replaced during a strategic merge patch.
          +optional
          +listType=atomic
        items:
          type: string
        type: array
    type: object
  v1.SeccompProfile:
    properties:
      localhostProfile:
        description: |-
          localhostProfile indicates a profile defined in a file on the node should be used.
          The profile must be preconfigured on the node to work.
          Must be a descending path, relative to the kubelet's configured seccomp profile location.
          Must be set if type is "Localhost". Must NOT be set for any other type.
          +optional
        type: string
      type:
        allOf:
        - $ref: '#/definitions/v1.SeccompProfileType'
        description: |-
          type indicates which kind of seccomp profile will be applied.
          Valid options are:

          Localhost - a profile defined in a file on the node should be used.
          RuntimeDefault - the container runtime default profile should be used.
