# CRDs source: https://github.com/projectcontour/contour-operator/tree/v1.20.1/config/crd
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  creationTimestamp: null
  name: contourconfigurations.projectcontour.io
spec:
  preserveUnknownFields: false
  group: projectcontour.io
  names:
    kind: ContourConfiguration
    listKind: ContourConfigurationList
    plural: contourconfigurations
    shortNames:
    - contourconfig
    singular: contourconfiguration
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: ContourConfiguration is the schema for a Contour instance.
        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:
            type: object
          spec:
            description: ContourConfigurationSpec represents a configuration of a
              Contour controller. It contains most of all the options that can be
              customized, the other remaining options being command line flags.
            properties:
              debug:
                default:
                  kubernetesLogLevel: 0
                  logLevel: info
                description: Debug contains parameters to enable debug logging and
                  debug interfaces inside Contour.
                properties:
                  address:
                    description: Defines the Contour debug address interface.
                    type: string
                  kubernetesLogLevel:
                    default: 0
                    description: "KubernetesDebugLogLevel defines the log level which
                      Contour will use when outputting Kubernetes specific log information.
                      \n Details: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md"
                    maximum: 9
                    minimum: 0
                    type: integer
                  logLevel:
                    description: DebugLogLevel defines the log level which Contour
                      will use when outputting log information.
                    enum:
                    - info
                    - debug
                    type: string
                  port:
                    description: Defines the Contour debug address port.
                    type: integer
                required:
                - logLevel
                type: object
              enableExternalNameService:
                default: false
                description: EnableExternalNameService allows processing of ExternalNameServices
                  Defaults to disabled for security reasons.
                type: boolean
              envoy:
                default:
                  cluster:
                    dnsLookupFamily: auto
                  defaultHTTPVersions:
                  - HTTP/1.1
                  - HTTP/2
                  health:
                    address: 0.0.0.0
                    port: 8002
                  http:
                    accessLog: /dev/stdout
                    address: 0.0.0.0
                    port: 8080
                  https:
                    accessLog: /dev/stdout
                    address: 0.0.0.0
                    port: 8443
                  listener:
                    connectionBalancer: ""
                    disableAllowChunkedLength: false
                    tls:
                      cipherSuites:
                      - '[ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]'
                      - '[ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]'
                      - ECDHE-ECDSA-AES256-GCM-SHA384
                      - ECDHE-RSA-AES256-GCM-SHA384
                      minimumProtocolVersion: "1.2"
                    useProxyProtocol: false
                  logging:
                    accessLogFormat: envoy
                  metrics:
                    address: 0.0.0.0
                    port: 8002
                  network:
                    adminPort: 9001
                  service:
                    name: envoy
                    namespace: projectcontour
                description: Envoy contains parameters for Envoy as well as how to
                  optionally configure a managed Envoy fleet.
                properties:
                  clientCertificate:
                    description: ClientCertificate defines the namespace/name of the
                      Kubernetes secret containing the client certificate and private
                      key to be used when establishing TLS connection to upstream
                      cluster.
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    required:
                    - name
                    - namespace
                    type: object
                  cluster:
                    description: Cluster holds various configurable Envoy cluster
                      values that can be set in the config file.
                    properties:
                      dnsLookupFamily:
                        default: auto
                        description: "DNSLookupFamily defines how external names are
                          looked up When configured as V4, the DNS resolver will only
                          perform a lookup for addresses in the IPv4 family. If V6
                          is configured, the DNS resolver will only perform a lookup
                          for addresses in the IPv6 family. If AUTO is configured,
                          the DNS resolver will first perform a lookup for addresses
                          in the IPv6 family and fallback to a lookup for addresses
                          in the IPv4 family. Note: This only applies to externalName
                          clusters. \n See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto.html#envoy-v3-api-enum-config-cluster-v3-cluster-dnslookupfamily
                          for more information."
                        enum:
                        - auto
                        - v4
                        - v6
                        type: string
                    required:
                    - dnsLookupFamily
                    type: object
                  defaultHTTPVersions:
                    description: DefaultHTTPVersions defines the default set of HTTPS
                      versions the proxy should accept. HTTP versions are strings
                      of the form "HTTP/xx". Supported versions are "HTTP/1.1" and
                      "HTTP/2".
                    items:
                      description: HTTPVersionType is the name of a supported HTTP
                        version.
                      enum:
                      - HTTP/1.1
                      - HTTP/2
                      type: string
                    type: array
                  health:
                    default:
                      address: 0.0.0.0
                      port: 8002
                    description: Health defines the endpoint Envoy uses to serve health
                      checks.
                    properties:
                      address:
                        description: Defines the health address interface.
                        minLength: 1
                        type: string
                      port:
                        description: Defines the health port.
                        type: integer
                    required:
                    - address
                    - port
                    type: object
                  http:
                    default:
                      accessLog: /dev/stdout
                      address: 0.0.0.0
                      port: 8080
                    description: Defines the HTTP Listener for Envoy.
                    properties:
                      accessLog:
                        description: AccessLog defines where Envoy logs are outputted
                          for this listener.
                        type: string
                      address:
                        description: Defines an Envoy Listener Address.
                        minLength: 1
                        type: string
                      port:
                        description: Defines an Envoy listener Port.
                        type: integer
                    required:
                    - accessLog
                    - address
                    - port
                    type: object
                  https:
                    default:
                      accessLog: /dev/stdout
                      address: 0.0.0.0
                      port: 8443
                    description: Defines the HTTP Listener for Envoy.
                    properties:
                      accessLog:
                        description: AccessLog defines where Envoy logs are outputted
                          for this listener.
                        type: string
                      address:
                        description: Defines an Envoy Listener Address.
                        minLength: 1
                        type: string
                      port:
                        description: Defines an Envoy listener Port.
                        type: integer
                    required:
                    - accessLog
                    - address
                    - port
                    type: object
                  listener:
                    description: Listener hold various configurable Envoy listener
                      values.
                    properties:
                      connectionBalancer:
                        description: ConnectionBalancer. If the value is exact, the
                          listener will use the exact connection balancer See https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/listener.proto#envoy-api-msg-listener-connectionbalanceconfig
                          for more information.
                        enum:
                        - ""
                        - exact
                        type: string
                      disableAllowChunkedLength:
                        description: 'DisableAllowChunkedLength disables the RFC-compliant
                          Envoy behavior to strip the "Content-Length" header if "Transfer-Encoding:
                          chunked" is also set. This is an emergency off-switch to
                          revert back to Envoy''s default behavior in case of failures.
                          Please file an issue if failures are encountered. See: https://github.com/projectcontour/contour/issues/3221'
                        type: boolean
                      tls:
                        description: TLS holds various configurable Envoy TLS listener
                          values.
                        properties:
                          cipherSuites:
                            description: "CipherSuites defines the TLS ciphers to
                              be supported by Envoy TLS listeners when negotiating
                              TLS 1.2. Ciphers are validated against the set that
                              Envoy supports by default. This parameter should only
                              be used by advanced users. Note that these will be ignored
                              when TLS 1.3 is in use. \n See: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-tlsparameters
                              Note: This list is a superset of what is valid for stock
                              Envoy builds and those using BoringSSL FIPS."
                            items:
                              enum:
                              - '[ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]'
                              - '[ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]'
                              - ECDHE-ECDSA-AES128-GCM-SHA256
                              - ECDHE-RSA-AES128-GCM-SHA256
                              - ECDHE-ECDSA-AES128-SHA
                              - ECDHE-RSA-AES128-SHA
                              - AES128-GCM-SHA256
                              - AES128-SHA
                              - ECDHE-ECDSA-AES256-GCM-SHA384
                              - ECDHE-RSA-AES256-GCM-SHA384
                              - ECDHE-ECDSA-AES256-SHA
                              - ECDHE-RSA-AES256-SHA
                              - AES256-GCM-SHA384
                              - AES256-SHA
                              type: string
                            type: array
                          minimumProtocolVersion:
                            description: MinimumProtocolVersion is the minimum TLS
                              version this vhost should negotiate. Valid options are
                              `1.2` (default) and `1.3`.
                            enum:
                            - "1.2"
                            - "1.3"
                            type: string
                        required:
                        - cipherSuites
                        - minimumProtocolVersion
                        type: object
                      useProxyProtocol:
                        description: Use PROXY protocol for all listeners.
                        type: boolean
                    required:
                    - connectionBalancer
                    - disableAllowChunkedLength
                    - tls
                    - useProxyProtocol
                    type: object
                  logging:
                    description: Logging defines how Envoy's logs can be configured.
                    properties:
                      accessLogFormat:
                        description: AccessLogFormat sets the global access log format.
                          Valid options are 'envoy' or 'json'
                        enum:
                        - envoy
                        - json
                        type: string
                      accessLogFormatString:
                        description: AccessLogFormatString sets the access log format
                          when format is set to `envoy`. When empty, Envoy's default
                          format is used.
                        type: string
                      jsonFields:
                        description: AccessLogFields sets the fields that JSON logging
                          will output when AccessLogFormat is json.
                        items:
                          type: string
                        type: array
                    required:
                    - accessLogFormat
                    type: object
                  metrics:
                    default:
                      address: 0.0.0.0
                      port: 8002
                    description: Metrics defines the endpoint Envoy uses to serve
                      metrics.
                    properties:
                      address:
                        description: Defines the metrics address interface.
                        maxLength: 253
                        minLength: 1
                        type: string
                      port:
                        description: Defines the metrics port.
                        type: integer
                      tls:
                        description: TLS holds TLS file config details. Metrics and
                          health endpoints cannot have same port number when metrics
                          is served over HTTPS.
                        properties:
                          caFile:
                            description: CA filename.
                            type: string
                          certFile:
                            description: Client certificate filename.
                            type: string
                          keyFile:
                            description: Client key filename.
                            type: string
                        type: object
                    required:
                    - address
                    - port
                    type: object
                  network:
                    description: Network holds various configurable Envoy network
                      values.
                    properties:
                      adminPort:
                        default: 9001
                        description: Configure the port used to access the Envoy Admin
                          interface. If configured to port "0" then the admin interface
                          is disabled.
                        type: integer
                      numTrustedHops:
                        description: "XffNumTrustedHops defines the number of additional
                          ingress proxy hops from the right side of the x-forwarded-for
                          HTTP header to trust when determining the origin client’s
                          IP address. \n See https://www.envoyproxy.io/docs/envoy/v1.17.0/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto?highlight=xff_num_trusted_hops
                          for more information."
                        format: int32
                        type: integer
                    required:
                    - adminPort
                    type: object
                  service:
                    default:
                      name: envoy
                      namespace: projectcontour
                    description: Service holds Envoy service parameters for setting
                      Ingress status.
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    required:
                    - name
                    - namespace
                    type: object
                  timeouts:
                    description: Timeouts holds various configurable timeouts that
                      can be set in the config file.
                    properties:
                      connectionIdleTimeout:
                        description: "ConnectionIdleTimeout defines how long the proxy
                          should wait while there are no active requests (for HTTP/1.1)
                          or streams (for HTTP/2) before terminating an HTTP connection.
                          Set to \"infinity\" to disable the timeout entirely. \n
                          See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-idle-timeout
                          for more information."
                        type: string
                      connectionShutdownGracePeriod:
                        description: "ConnectionShutdownGracePeriod defines how long
                          the proxy will wait between sending an initial GOAWAY frame
                          and a second, final GOAWAY frame when terminating an HTTP/2
                          connection. During this grace period, the proxy will continue
                          to respond to new streams. After the final GOAWAY frame
                          has been sent, the proxy will refuse new streams. \n See
                          https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-drain-timeout
                          for more information."
                        type: string
                      delayedCloseTimeout:
                        description: "DelayedCloseTimeout defines how long envoy will
                          wait, once connection close processing has been initiated,
                          for the downstream peer to close the connection before Envoy
                          closes the socket associated with the connection. \n Setting
                          this timeout to 'infinity' will disable it, equivalent to
                          setting it to '0' in Envoy. Leaving it unset will result
                          in the Envoy default value being used. \n See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-delayed-close-timeout
                          for more information."
                        type: string
                      maxConnectionDuration:
                        description: "MaxConnectionDuration defines the maximum period
                          of time after an HTTP connection has been established from
                          the client to the proxy before it is closed by the proxy,
                          regardless of whether there has been activity or not. Omit
                          or set to \"infinity\" for no max duration. \n See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-max-connection-duration
                          for more information."
                        type: string
                      requestTimeout:
                        description: "RequestTimeout sets the client request timeout
                          globally for Contour. Note that this is a timeout for the
                          entire request, not an idle timeout. Omit or set to \"infinity\"
                          to disable the timeout entirely. \n See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-request-timeout
                          for more information."
                        type: string
                      streamIdleTimeout:
                        description: "StreamIdleTimeout defines how long the proxy
                          should wait while there is no request activity (for HTTP/1.1)
                          or stream activity (for HTTP/2) before terminating the HTTP
                          request or stream. Set to \"infinity\" to disable the timeout
                          entirely. \n See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-stream-idle-timeout
                          for more information."
                        type: string
                    type: object
                required:
                - cluster
                - defaultHTTPVersions
                - http
                - https
                - listener
                - logging
                - metrics
                - network
                - service
                type: object
              gateway:
                description: Gateway contains parameters for the gateway-api Gateway
                  that Contour is configured to serve traffic.
                properties:
                  controllerName:
                    default: projectcontour.io/projectcontour/contour
                    description: ControllerName is used to determine whether Contour
                      should reconcile a GatewayClass. The string takes the form of
                      "projectcontour.io/<namespace>/contour". If unset, the gatewayclass
                      controller will not be started.
                    type: string
                required:
                - controllerName
                type: object
              health:
                default:
                  address: 0.0.0.0
                  port: 8000
                description: Health defines the endpoints Contour uses to serve health
                  checks.
                properties:
                  address:
                    description: Defines the health address interface.
                    minLength: 1
                    type: string
                  port:
                    description: Defines the health port.
                    type: integer
                required:
                - address
                - port
                type: object
              httpproxy:
                default:
                  disablePermitInsecure: false
                description: HTTPProxy defines parameters on HTTPProxy.
                properties:
                  disablePermitInsecure:
                    description: DisablePermitInsecure disables the use of the permitInsecure
                      field in HTTPProxy.
                    type: boolean
                  fallbackCertificate:
                    description: FallbackCertificate defines the namespace/name of
                      the Kubernetes secret to use as fallback when a non-SNI request
                      is received.
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    required:
                    - name
                    - namespace
                    type: object
                  rootNamespaces:
                    description: Restrict Contour to searching these namespaces for
                      root ingress routes.
                    items:
                      type: string
                    type: array
                required:
                - disablePermitInsecure
                type: object
              ingress:
                description: Ingress contains parameters for ingress options.
                properties:
                  className:
                    description: Ingress Class Name Contour should use.
                    type: string
                  statusAddress:
                    description: Address to set in Ingress object status.
                    type: string
                type: object
              metrics:
                default:
                  address: 0.0.0.0
                  port: 8000
                description: Metrics defines the endpoint Contour uses to serve metrics.
                properties:
                  address:
                    description: Defines the metrics address interface.
                    maxLength: 253
                    minLength: 1
                    type: string
                  port:
                    description: Defines the metrics port.
                    type: integer
                  tls:
                    description: TLS holds TLS file config details. Metrics and health
                      endpoints cannot have same port number when metrics is served
                      over HTTPS.
                    properties:
                      caFile:
                        description: CA filename.
                        type: string
                      certFile:
                        description: Client certificate filename.
                        type: string
                      keyFile:
                        description: Client key filename.
                        type: string
                    type: object
                required:
                - address
                - port
                type: object
              policy:
                description: Policy specifies default policy applied if not overridden
                  by the user
                properties:
                  applyToIngress:
                    description: ApplyToIngress determines if the Policies will apply
                      to ingress objects
                    type: boolean
                  requestHeaders:
                    description: RequestHeadersPolicy defines the request headers
                      set/removed on all routes
                    properties:
                      remove:
                        items:
                          type: string
                        type: array
                      set:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  responseHeaders:
                    description: ResponseHeadersPolicy defines the response headers
                      set/removed on all routes
                    properties:
                      remove:
                        items:
                          type: string
                        type: array
                      set:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                type: object
              rateLimitService:
                description: RateLimitService optionally holds properties of the Rate
                  Limit Service to be used for global rate limiting.
                properties:
                  domain:
                    description: Domain is passed to the Rate Limit Service.
                    type: string
                  enableXRateLimitHeaders:
                    description: "EnableXRateLimitHeaders defines whether to include
                      the X-RateLimit headers X-RateLimit-Limit, X-RateLimit-Remaining,
                      and X-RateLimit-Reset (as defined by the IETF Internet-Draft
                      linked below), on responses to clients when the Rate Limit Service
                      is consulted for a request. \n ref. https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html"
                    type: boolean
                  extensionService:
                    description: ExtensionService identifies the extension service
                      defining the RLS.
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    required:
                    - name
                    - namespace
                    type: object
                  failOpen:
                    description: FailOpen defines whether to allow requests to proceed
                      when the Rate Limit Service fails to respond with a valid rate
                      limit decision within the timeout defined on the extension service.
                    type: boolean
                required:
                - domain
                - enableXRateLimitHeaders
                - failOpen
                type: object
              xdsServer:
                default:
                  address: 0.0.0.0
                  port: 8001
                  tls:
                    caFile: /certs/ca.crt
                    certFile: /certs/tls.crt
                    insecure: false
                    keyFile: /certs/tls.key
                  type: contour
                description: XDSServer contains parameters for the xDS server.
                properties:
                  address:
                    description: Defines the xDS gRPC API address which Contour will
                      serve.
                    minLength: 1
                    type: string
                  port:
                    description: Defines the xDS gRPC API port which Contour will
                      serve.
                    type: integer
                  tls:
                    description: TLS holds TLS file config details.
                    properties:
                      caFile:
                        description: CA filename.
                        type: string
                      certFile:
                        description: Client certificate filename.
                        type: string
                      insecure:
                        description: Allow serving the xDS gRPC API without TLS.
                        type: boolean
                      keyFile:
                        description: Client key filename.
                        type: string
                    required:
                    - insecure
                    type: object
                  type:
                    description: Defines the XDSServer to use for `contour serve`.
                    enum:
                    - contour
                    - envoy
                    type: string
                required:
                - address
                - port
                - type
                type: object
            type: object
          status:
            description: ContourConfigurationStatus defines the observed state of
              a ContourConfiguration resource.
            properties:
              conditions:
                description: "Conditions contains the current status of the Contour
                  resource. \n Contour will update a single condition, `Valid`, that
                  is in normal-true polarity. \n Contour will not modify any other
                  Conditions set in this block, in case some other controller wants
                  to add a Condition."
                items:
                  description: "DetailedCondition is an extension of the normal Kubernetes
                    conditions, with two extra fields to hold sub-conditions, which
                    provide more detailed reasons for the state (True or False) of
                    the condition. \n `errors` holds information about sub-conditions
                    which are fatal to that condition and render its state False.
                    \n `warnings` holds information about sub-conditions which are
                    not fatal to that condition and do not force the state to be False.
                    \n Remember that Conditions have a type, a status, and a reason.
                    \n The type is the type of the condition, the most important one
                    in this CRD set is `Valid`. `Valid` is a positive-polarity condition:
                    when it is `status: true` there are no problems. \n In more detail,
                    `status: true` means that the object is has been ingested into
                    Contour with no errors. `warnings` may still be present, and will
                    be indicated in the Reason field. There must be zero entries in
                    the `errors` slice in this case. \n `Valid`, `status: false` means
                    that the object has had one or more fatal errors during processing
                    into Contour.  The details of the errors will be present under
                    the `errors` field. There must be at least one error in the `errors`
                    slice if `status` is `false`. \n For DetailedConditions of types
                    other than `Valid`, the Condition must be in the negative polarity.
                    When they have `status` `true`, there is an error. There must
                    be at least one entry in the `errors` Subcondition slice. When
                    they have `status` `false`, there are no serious errors, and there
                    must be zero entries in the `errors` slice. In either case, there
                    may be entries in the `warnings` slice. \n Regardless of the polarity,
                    the `reason` and `message` fields must be updated with either
                    the detail of the reason (if there is one and only one entry in
                    total across both the `errors` and `warnings` slices), or `MultipleReasons`
                    if there is more than one entry."
                  properties:
                    errors:
                      description: "Errors contains a slice of relevant error subconditions
                        for this object. \n Subconditions are expected to appear when
                        relevant (when there is a error), and disappear when not relevant.
                        An empty slice here indicates no errors."
                      items:
                        description: "SubCondition is a Condition-like type intended
                          for use as a subcondition inside a DetailedCondition. \n
                          It contains a subset of the Condition fields. \n It is intended
                          for warnings and errors, so `type` names should use abnormal-true
                          polarity, that is, they should be of the form \"ErrorPresent:
                          true\". \n The expected lifecycle for these errors is that
                          they should only be present when the error or warning is,
                          and should be removed when they are not relevant."
                        properties:
                          message:
                            description: "Message is a human readable message indicating
                              details about the transition. \n This may be an empty
                              string."
                            maxLength: 32768
                            type: string
                          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. \n The value
                              should be a CamelCase string. \n 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`.
                              \n This must be in abnormal-true polarity, that is,
                              `ErrorFound` or `controller.io/ErrorFound`. \n 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:
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    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
                    warnings:
                      description: "Warnings contains a slice of relevant warning
                        subconditions for this object. \n Subconditions are expected
                        to appear when relevant (when there is a warning), and disappear
                        when not relevant. An empty slice here indicates no warnings."
                      items:
                        description: "SubCondition is a Condition-like type intended
                          for use as a subcondition inside a DetailedCondition. \n
                          It contains a subset of the Condition fields. \n It is intended
                          for warnings and errors, so `type` names should use abnormal-true
                          polarity, that is, they should be of the form \"ErrorPresent:
                          true\". \n The expected lifecycle for these errors is that
                          they should only be present when the error or warning is,
                          and should be removed when they are not relevant."
                        properties:
                          message:
                            description: "Message is a human readable message indicating
                              details about the transition. \n This may be an empty
                              string."
                            maxLength: 32768
                            type: string
                          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. \n The value
                              should be a CamelCase string. \n 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`.
                              \n This must be in abnormal-true polarity, that is,
                              `ErrorFound` or `controller.io/ErrorFound`. \n 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:
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                  required:
                  - lastTransitionTime
                  - message
                  - reason
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
