# 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: contourdeployments.projectcontour.io
spec:
  preserveUnknownFields: false
  group: projectcontour.io
  names:
    kind: ContourDeployment
    listKind: ContourDeploymentList
    plural: contourdeployments
    shortNames:
    - contourdeploy
    singular: contourdeployment
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: ContourDeployment is the schema for a Contour 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
          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: ContourDeploymentSpec defines the parameters of how a Contour
              instance should be configured.
            properties:
              config:
                description: Config is the config that the instances of Contour are
                  to utilize.
                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
              replicas:
                default: 2
                description: Replicas is the desired number of Contour replicas. If
                  unset, defaults to 2.
                format: int32
                minimum: 0
                type: integer
            required:
            - config
            type: object
          status:
            description: ContourDeploymentStatus defines the observed state of a ContourDeployment
              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
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
