---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.5
  name: activemqartemissecurities.broker.amq.io
spec:
  group: broker.amq.io
  names:
    kind: ActiveMQArtemisSecurity
    listKind: ActiveMQArtemisSecurityList
    plural: activemqartemissecurities
    shortNames:
    - aas
    singular: activemqartemissecurity
  scope: Namespaced
  versions:
  - deprecated: true
    deprecationWarning: The ActiveMQArtemisSecurity CRD is deprecated. Use the spec.brokerProperties
      attribute in the ActiveMQArtemis CR and -jaas-config extraMount to configure
      security instead
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Security configuration for the broker
        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: ActiveMQArtemisSecuritySpec defines the desired state of
              ActiveMQArtemisSecurity
            properties:
              applyToCrNames:
                description: Apply this security config to the broker crs in the current
                  namespace. A value of * or empty string means applying to all broker
                  crs. Default apply to all broker crs
                items:
                  type: string
                type: array
              loginModules:
                description: Specifies the login modules (deprecated in favour of
                  ActiveMQArtemisSpec.DeploymentPlan.ExtraMounts.Secrets -jaas-config)
                properties:
                  guestLoginModules:
                    description: Specifies the guest login modules
                    items:
                      properties:
                        guestRole:
                          description: The guest user role
                          type: string
                        guestUser:
                          description: The guest user name
                          type: string
                        name:
                          description: Name for GuestLoginModule
                          type: string
                      type: object
                    type: array
                  keycloakLoginModules:
                    description: Specifies the Keycloak login modules
                    items:
                      properties:
                        configuration:
                          description: Specifies the Keycloak module configuration
                          properties:
                            allowAnyHostName:
                              description: If to allow any host name
                              type: boolean
                            alwaysRefreshToken:
                              description: If always refresh token
                              type: boolean
                            authServerUrl:
                              description: URL of the keycloak authentication server
                              type: string
                            autoDetectBearerOnly:
                              description: If auto-detect bearer token only
                              type: boolean
                            bearerOnly:
                              description: If only verify bearer token
                              type: boolean
                            clientKeyPassword:
                              description: Client key password
                              type: string
                            clientKeyStore:
                              description: Path of a client keystore
                              type: string
                            clientKeyStorePassword:
                              description: Client keystore password
                              type: string
                            confidentialPort:
                              description: The confidential port used by the Keycloak
                                server for secure connections over SSL/TLS
                              format: int32
                              type: integer
                            connectionPoolSize:
                              description: Size of the connection pool
                              format: int64
                              type: integer
                            corsAllowedHeaders:
                              description: CORS allowed headers
                              type: string
                            corsAllowedMethods:
                              description: CORS allowed methods
                              type: string
                            corsExposedHeaders:
                              description: CORS exposed headers
                              type: string
                            corsMaxAge:
                              description: CORS max age
                              format: int64
                              type: integer
                            credentials:
                              description: Specify the credentials
                              items:
                                properties:
                                  key:
                                    description: The regular expression to match the
                                      Redirect URI
                                    type: string
                                  value:
                                    description: The replacement value
                                    type: string
                                type: object
                              type: array
                            disableTrustManager:
                              description: If to disable trust manager
                              type: boolean
                            enableBasicAuth:
                              description: Whether to support basic authentication
                              type: boolean
                            enableCors:
                              description: If to enable CORS
                              type: boolean
                            exposeToken:
                              description: If to expose access token
                              type: boolean
                            ignoreOauthQueryParameter:
                              description: Whether to turn off processing of the access_token
                                query parameter for bearer token processing
                              type: boolean
                            minTimeBetweenJwksRequests:
                              description: Minimum interval between two requests to
                                Keycloak to retrieve new public keys
                              format: int64
                              type: integer
                            principalAttribute:
                              description: OpenID Connect ID Token attribute to populate
                                the UserPrincipal name with
                              type: string
                            proxyUrl:
                              description: The proxy URL
                              type: string
                            publicClient:
                              description: If it is public client
                              type: boolean
                            publicKeyCacheTtl:
                              description: Maximum interval between two requests to
                                Keycloak to retrieve new public keys
                              format: int64
                              type: integer
                            realm:
                              description: Realm for KeycloakLoginModule
                              type: string
                            realmPublicKey:
                              description: Public key for the realm
                              type: string
                            redirectRewriteRules:
                              description: Specify the redirect rewrite rules
                              items:
                                properties:
                                  key:
                                    description: The regular expression to match the
                                      Redirect URI
                                    type: string
                                  value:
                                    description: The replacement value
                                    type: string
                                type: object
                              type: array
                            registerNodeAtStartup:
                              description: If register node at startup
                              type: boolean
                            registerNodePeriod:
                              description: Period for re-registering node
                              format: int64
                              type: integer
                            resource:
                              description: Resource Name
                              type: string
                            scope:
                              description: The OAuth2 scope parameter for DirectAccessGrantsLoginModule
                              type: string
                            sslRequired:
                              description: How SSL is required
                              type: string
                            tokenCookiePath:
                              description: Cookie path for a cookie store
                              type: string
                            tokenMinimumTimeToLive:
                              description: Minimum time to refresh an active access
                                token
                              format: int64
                              type: integer
                            tokenStore:
                              description: Type of token store. session or cookie
                              type: string
                            trustStore:
                              description: Path of a trust store
                              type: string
                            trustStorePassword:
                              description: Truststore password
                              type: string
                            turnOffChangeSessionIdOnLogin:
                              description: If not to change session id on a successful
                                login
                              type: boolean
                            useResourceRoleMappings:
                              description: If to use resource role mappings
                              type: boolean
                            verifyTokenAudience:
                              description: Verify whether the token contains this
                                client name (resource) as an audience
                              type: boolean
                          type: object
                        moduleType:
                          description: Type of KeycloakLoginModule directAccess or
                            bearerToken
                          type: string
                        name:
                          description: Name for KeycloakLoginModule
                          type: string
                      type: object
                    type: array
                  propertiesLoginModules:
                    description: Specifies the properties login modules
                    items:
                      properties:
                        name:
                          description: Name for PropertiesLoginModule
                          type: string
                        users:
                          description: Specifies the users
                          items:
                            properties:
                              name:
                                description: User name to be defined in properties
                                  login module
                                type: string
                              password:
                                description: Password to be defined in properties
                                  login module
                                type: string
                              roles:
                                description: Roles to be defined in properties login
                                  module
                                items:
                                  type: string
                                type: array
                            type: object
                          type: array
                      type: object
                    type: array
                type: object
              securityDomains:
                description: Specifies the security domains (deprecated in favour
                  of ActiveMQArtemisSpec.DeploymentPlan.ExtraMounts.Secrets -jaas-config)
                properties:
                  brokerDomain:
                    description: Specify the broker domain
                    properties:
                      loginModules:
                        description: Specify the login modules
                        items:
                          properties:
                            debug:
                              description: Debug option of the login module
                              type: boolean
                            flag:
                              description: Flag of the login module
                              type: string
                            name:
                              description: Name of the login module
                              type: string
                            reload:
                              description: Reload option of the login module
                              type: boolean
                          type: object
                        type: array
                      name:
                        description: Name for the broker/console domain
                        type: string
                    type: object
                  consoleDomain:
                    description: Specify the console domain
                    properties:
                      loginModules:
                        description: Specify the login modules
                        items:
                          properties:
                            debug:
                              description: Debug option of the login module
                              type: boolean
                            flag:
                              description: Flag of the login module
                              type: string
                            name:
                              description: Name of the login module
                              type: string
                            reload:
                              description: Reload option of the login module
                              type: boolean
                          type: object
                        type: array
                      name:
                        description: Name for the broker/console domain
                        type: string
                    type: object
                type: object
              securitySettings:
                description: Specifies the security settings
                properties:
                  broker:
                    description: Specify the broker security settings
                    items:
                      properties:
                        match:
                          description: The address match pattern of a security setting
                          type: string
                        permissions:
                          description: Specify the permissions
                          items:
                            properties:
                              operationType:
                                description: The operation type of a security setting
                                type: string
                              roles:
                                description: The roles of a security setting
                                items:
                                  type: string
                                type: array
                            required:
                            - operationType
                            type: object
                          type: array
                      type: object
                    type: array
                  management:
                    description: Specify the management security settings
                    properties:
                      authorisation:
                        description: Specify the authorisation configurations
                        properties:
                          allowedList:
                            description: Specify the allowed entries
                            items:
                              properties:
                                domain:
                                  description: The domain of allowedList
                                  type: string
                                key:
                                  description: The key of allowedList
                                  type: string
                              type: object
                            type: array
                          defaultAccess:
                            description: Specify the default accesses
                            items:
                              properties:
                                method:
                                  description: Specifies the access entry method
                                  type: string
                                roles:
                                  description: Specifies the access entry roles
                                  items:
                                    type: string
                                  type: array
                              type: object
                            type: array
                          roleAccess:
                            description: Specify the role accesses
                            items:
                              properties:
                                accessList:
                                  description: Specify the default accesses
                                  items:
                                    properties:
                                      method:
                                        description: Specifies the access entry method
                                        type: string
                                      roles:
                                        description: Specifies the access entry roles
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                domain:
                                  description: The domain of the role access
                                  type: string
                                key:
                                  description: The key of the role access
                                  type: string
                              type: object
                            type: array
                        type: object
                      connector:
                        description: Specify connector configurations
                        properties:
                          authenticatorType:
                            description: The management authentication type
                            type: string
                          host:
                            description: The connector host for connecting to management
                            type: string
                          jmxRealm:
                            description: The JMX realm of management
                            type: string
                          keyStorePassword:
                            description: The keystore password for management connector
                            type: string
                          keyStorePath:
                            description: The keystore path for management connector
                            type: string
                          keyStoreProvider:
                            description: The keystore provider for management connector
                            type: string
                          objectName:
                            description: The JMX object name of management
                            type: string
                          passwordCodec:
                            description: The password codec for management connector
                            type: string
                          port:
                            description: The connector port for connecting to management
                            format: int32
                            type: integer
                          rmiRegistryPort:
                            description: The RMI registry port for management
                            format: int32
                            type: integer
                          secured:
                            description: Whether management connection is secured
                            type: boolean
                          trustStorePassword:
                            description: The truststore password for management connector
                            type: string
                          trustStorePath:
                            description: The truststore path for management connector
                            type: string
                          trustStoreProvider:
                            description: The truststore provider for management connector
                            type: string
                        type: object
                      hawtioRoles:
                        description: The roles allowed to login hawtio
                        items:
                          type: string
                        type: array
                    type: object
                type: object
            type: object
          status:
            description: Specifies the security status modules
            properties:
              conditions:
                description: |-
                  Current state of the resource
                  Conditions represent the latest available observations of an object's state
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  properties:
                    lastTransitionTime:
                      description: |-
                        lastTransitionTime is the last time the condition transitioned from one status to another.
                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: |-
                        message is a human readable message indicating details about the transition.
                        This may be an empty string.
                      maxLength: 32768
                      type: string
                    observedGeneration:
                      description: |-
                        observedGeneration represents the .metadata.generation that the condition was set based upon.
                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                        with respect to the current state of the instance.
                      format: int64
                      minimum: 0
                      type: integer
                    reason:
                      description: |-
                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
                        Producers of specific condition types may define expected values and meanings for this field,
                        and whether the values are considered a guaranteed API.
                        The value should be a CamelCase string.
                        This field may not be empty.
                      maxLength: 1024
                      minLength: 1
                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                      type: string
                    status:
                      description: status of the condition, one of True, False, Unknown.
                      enum:
                      - "True"
                      - "False"
                      - Unknown
                      type: string
                    type:
                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
                      maxLength: 316
                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                      type: string
                  required:
                  - lastTransitionTime
                  - message
                  - reason
                  - status
                  - type
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - deprecated: true
    deprecationWarning: The ActiveMQArtemisSecurity CRD is deprecated. Use the spec.brokerProperties
      attribute in the ActiveMQArtemis CR and -jaas-config extraMount to configure
      security instead
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Security configuration for the broker
        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: ActiveMQArtemisSecuritySpec defines the desired state of
              ActiveMQArtemisSecurity
            properties:
              applyToCrNames:
                description: Apply this security config to the broker crs in the current
                  namespace. A value of * or empty string means applying to all broker
                  crs. Default apply to all broker crs
                items:
                  type: string
                type: array
              loginModules:
                description: Specifies the login modules (deprecated in favour of
                  ActiveMQArtemisSpec.DeploymentPlan.ExtraMounts.Secrets -jaas-config)
                properties:
                  guestLoginModules:
                    description: Specifies the guest login modules
                    items:
                      properties:
                        guestRole:
                          description: The guest user role
                          type: string
                        guestUser:
                          description: The guest user name
                          type: string
                        name:
                          description: Name for GuestLoginModule
                          type: string
                      type: object
                    type: array
                  keycloakLoginModules:
                    description: Specifies the Keycloak login modules
                    items:
                      properties:
                        configuration:
                          description: Specifies the Keycloak module configuration
                          properties:
                            allowAnyHostName:
                              description: If to allow any host name
                              type: boolean
                            alwaysRefreshToken:
                              description: If always refresh token
                              type: boolean
                            authServerUrl:
                              description: URL of the keycloak authentication server
                              type: string
                            autoDetectBearerOnly:
                              description: If auto-detect bearer token only
                              type: boolean
                            bearerOnly:
                              description: If only verify bearer token
                              type: boolean
                            clientKeyPassword:
                              description: Client key password
                              type: string
                            clientKeyStore:
                              description: Path of a client keystore
                              type: string
                            clientKeyStorePassword:
                              description: Client keystore password
                              type: string
                            confidentialPort:
                              description: The confidential port used by the Keycloak
                                server for secure connections over SSL/TLS
                              format: int32
                              type: integer
                            connectionPoolSize:
                              description: Size of the connection pool
                              format: int64
                              type: integer
                            corsAllowedHeaders:
                              description: CORS allowed headers
                              type: string
                            corsAllowedMethods:
                              description: CORS allowed methods
                              type: string
                            corsExposedHeaders:
                              description: CORS exposed headers
                              type: string
                            corsMaxAge:
                              description: CORS max age
                              format: int64
                              type: integer
                            credentials:
                              description: Specify the credentials
                              items:
                                properties:
                                  key:
                                    description: The regular expression to match the
                                      Redirect URI
                                    type: string
                                  value:
                                    description: The replacement value
                                    type: string
                                type: object
                              type: array
                            disableTrustManager:
                              description: If to disable trust manager
                              type: boolean
                            enableBasicAuth:
                              description: Whether to support basic authentication
                              type: boolean
                            enableCors:
                              description: If to enable CORS
                              type: boolean
                            exposeToken:
                              description: If to expose access token
                              type: boolean
                            ignoreOauthQueryParameter:
                              description: Whether to turn off processing of the access_token
                                query parameter for bearer token processing
                              type: boolean
                            minTimeBetweenJwksRequests:
                              description: Minimum interval between two requests to
                                Keycloak to retrieve new public keys
                              format: int64
                              type: integer
                            principalAttribute:
                              description: OpenID Connect ID Token attribute to populate
                                the UserPrincipal name with
                              type: string
                            proxyUrl:
                              description: The proxy URL
                              type: string
                            publicClient:
                              description: If it is public client
                              type: boolean
                            publicKeyCacheTtl:
                              description: Maximum interval between two requests to
                                Keycloak to retrieve new public keys
                              format: int64
                              type: integer
                            realm:
                              description: Realm for KeycloakLoginModule
                              type: string
                            realmPublicKey:
                              description: Public key for the realm
                              type: string
                            redirectRewriteRules:
                              description: Specify the redirect rewrite rules
                              items:
                                properties:
                                  key:
                                    description: The regular expression to match the
                                      Redirect URI
                                    type: string
                                  value:
                                    description: The replacement value
                                    type: string
                                type: object
                              type: array
                            registerNodeAtStartup:
                              description: If register node at startup
                              type: boolean
                            registerNodePeriod:
                              description: Period for re-registering node
                              format: int64
                              type: integer
                            resource:
                              description: Resource Name
                              type: string
                            scope:
                              description: The OAuth2 scope parameter for DirectAccessGrantsLoginModule
                              type: string
                            sslRequired:
                              description: How SSL is required
                              type: string
                            tokenCookiePath:
                              description: Cookie path for a cookie store
                              type: string
                            tokenMinimumTimeToLive:
                              description: Minimum time to refresh an active access
                                token
                              format: int64
                              type: integer
                            tokenStore:
                              description: Type of token store. session or cookie
                              type: string
                            trustStore:
                              description: Path of a trust store
                              type: string
                            trustStorePassword:
                              description: Truststore password
                              type: string
                            turnOffChangeSessionIdOnLogin:
                              description: If not to change session id on a successful
                                login
                              type: boolean
                            useResourceRoleMappings:
                              description: If to use resource role mappings
                              type: boolean
                            verifyTokenAudience:
                              description: Verify whether the token contains this
                                client name (resource) as an audience
                              type: boolean
                          type: object
                        moduleType:
                          description: Type of KeycloakLoginModule directAccess or
                            bearerToken
                          type: string
                        name:
                          description: Name for KeycloakLoginModule
                          type: string
                      type: object
                    type: array
                  propertiesLoginModules:
                    description: Specifies the properties login modules
                    items:
                      properties:
                        name:
                          description: Name for PropertiesLoginModule
                          type: string
                        users:
                          description: Specifies the users
                          items:
                            properties:
                              name:
                                description: User name to be defined in properties
                                  login module
                                type: string
                              password:
                                description: Password to be defined in properties
                                  login module
                                type: string
                              roles:
                                description: Roles to be defined in properties login
                                  module
                                items:
                                  type: string
                                type: array
                            type: object
                          type: array
                      type: object
                    type: array
                type: object
              securityDomains:
                description: Specifies the security domains (deprecated in favour
                  of ActiveMQArtemisSpec.DeploymentPlan.ExtraMounts.Secrets -jaas-config)
                properties:
                  brokerDomain:
                    description: Specify the broker domain
                    properties:
                      loginModules:
                        description: Specify the login modules
                        items:
                          properties:
                            debug:
                              description: Debug option of the login module
                              type: boolean
                            flag:
                              description: Flag of the login module
                              type: string
                            name:
                              description: Name of the login module
                              type: string
                            reload:
                              description: Reload option of the login module
                              type: boolean
                          type: object
                        type: array
                      name:
                        description: Name for the broker/console domain
                        type: string
                    type: object
                  consoleDomain:
                    description: Specify the console domain
                    properties:
                      loginModules:
                        description: Specify the login modules
                        items:
                          properties:
                            debug:
                              description: Debug option of the login module
                              type: boolean
                            flag:
                              description: Flag of the login module
                              type: string
                            name:
                              description: Name of the login module
                              type: string
                            reload:
                              description: Reload option of the login module
                              type: boolean
                          type: object
                        type: array
                      name:
                        description: Name for the broker/console domain
                        type: string
                    type: object
                type: object
              securitySettings:
                description: Specifies the security settings
                properties:
                  broker:
                    description: Specify the broker security settings
                    items:
                      properties:
                        match:
                          description: The address match pattern of a security setting
                          type: string
                        permissions:
                          description: Specify the permissions
                          items:
                            properties:
                              operationType:
                                description: The operation type of a security setting
                                type: string
                              roles:
                                description: The roles of a security setting
                                items:
                                  type: string
                                type: array
                            required:
                            - operationType
                            type: object
                          type: array
                      type: object
                    type: array
                  management:
                    description: Specify the management security settings
                    properties:
                      authorisation:
                        description: Specify the authorisation configurations
                        properties:
                          allowedList:
                            description: Specify the allowed entries
                            items:
                              properties:
                                domain:
                                  description: The domain of allowedList
                                  type: string
                                key:
                                  description: The key of allowedList
                                  type: string
                              type: object
                            type: array
                          defaultAccess:
                            description: Specify the default accesses
                            items:
                              properties:
                                method:
                                  description: Specifies the access entry method
                                  type: string
                                roles:
                                  description: Specifies the access entry roles
                                  items:
                                    type: string
                                  type: array
                              type: object
                            type: array
                          roleAccess:
                            description: Specify the role accesses
                            items:
                              properties:
                                accessList:
                                  description: Specify the default accesses
                                  items:
                                    properties:
                                      method:
                                        description: Specifies the access entry method
                                        type: string
                                      roles:
                                        description: Specifies the access entry roles
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                domain:
                                  description: The domain of the role access
                                  type: string
                                key:
                                  description: The key of the role access
                                  type: string
                              type: object
                            type: array
                        type: object
                      connector:
                        description: Specify connector configurations
                        properties:
                          authenticatorType:
                            description: The management authentication type
                            type: string
                          host:
                            description: The connector host for connecting to management
                            type: string
                          jmxRealm:
                            description: The JMX realm of management
                            type: string
                          keyStorePassword:
                            description: The keystore password for management connector
                            type: string
                          keyStorePath:
                            description: The keystore path for management connector
                            type: string
                          keyStoreProvider:
                            description: The keystore provider for management connector
                            type: string
                          keyStoreType:
                            description: The keystore type for management connector
                            type: string
                          objectName:
                            description: The JMX object name of management
                            type: string
                          passwordCodec:
                            description: The password codec for management connector
                            type: string
                          port:
                            description: The connector port for connecting to management
                            format: int32
                            type: integer
                          rmiRegistryPort:
                            description: The RMI registry port for management
                            format: int32
                            type: integer
                          secured:
                            description: Whether management connection is secured
                            type: boolean
                          trustStorePassword:
                            description: The truststore password for management connector
                            type: string
                          trustStorePath:
                            description: The truststore path for management connector
                            type: string
                          trustStoreProvider:
                            description: The truststore provider for management connector
                            type: string
                          trustStoreType:
                            description: The truststore type for management connector
                            type: string
                        type: object
                      hawtioRoles:
                        description: The roles allowed to login hawtio
                        items:
                          type: string
                        type: array
                    type: object
                type: object
            type: object
          status:
            description: Specifies the security status modules
            properties:
              conditions:
                description: |-
                  Current state of the resource
                  Conditions represent the latest available observations of an object's state
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  properties:
                    lastTransitionTime:
                      description: |-
                        lastTransitionTime is the last time the condition transitioned from one status to another.
                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: |-
                        message is a human readable message indicating details about the transition.
                        This may be an empty string.
                      maxLength: 32768
                      type: string
                    observedGeneration:
                      description: |-
                        observedGeneration represents the .metadata.generation that the condition was set based upon.
                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                        with respect to the current state of the instance.
                      format: int64
                      minimum: 0
                      type: integer
                    reason:
                      description: |-
                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
                        Producers of specific condition types may define expected values and meanings for this field,
                        and whether the values are considered a guaranteed API.
                        The value should be a CamelCase string.
                        This field may not be empty.
                      maxLength: 1024
                      minLength: 1
                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                      type: string
                    status:
                      description: status of the condition, one of True, False, Unknown.
                      enum:
                      - "True"
                      - "False"
                      - Unknown
                      type: string
                    type:
                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
                      maxLength: 316
                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                      type: string
                  required:
                  - lastTransitionTime
                  - message
                  - reason
                  - status
                  - type
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
