apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    build.aep.asag.io/source: svc-api
    build.aep.asag.io/version: 1.0.16
    controller-gen.kubebuilder.io/version: v0.10.0
  creationTimestamp: null
  name: configs.service.aep.asag.io
spec:
  group: service.aep.asag.io
  names:
    kind: Config
    listKind: ConfigList
    plural: configs
    shortNames:
      - cfg
      - config
      - aepcfg
      - aepconfig
    singular: config
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .status.phase
          name: Status
          type: string
        - jsonPath: .metadata.ownerReferences[?(@.controller==true)].kind
          name: OwnerKind
          priority: 2
          type: string
        - jsonPath: .metadata.ownerReferences[?(@.controller==true)].name
          name: OwnerName
          priority: 2
          type: string
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
        - jsonPath: .status.reason
          name: Reason
          priority: 2
          type: string
      name: v1
      schema:
        openAPIV3Schema:
          description: Config collection for provision resources
          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
            data:
              description: Instance data of this resource
              properties:
                actual:
                  description: Actual name of the resource provision
                  minLength: 1
                  type: string
                clusters:
                  description: Data of clusters for this instance
                  items:
                    description: Cluster specific config properties
                    properties:
                      actual:
                        description: Actual name of the resource provision
                        minLength: 1
                        type: string
                      configs:
                        description: Configs for this resource
                        items:
                          description: Key value properties with owner annotation
                          properties:
                            key:
                              description: The key
                              minLength: 1
                              type: string
                            owner:
                              description: Owner of this config key. If a component is not the owner of this config it must keep it as-is.
                              minLength: 1
                              type: string
                            reason:
                              description: Additional info to reason why this config was set or changed by the owner. The owner can decide any type and structure of the data.
                              x-kubernetes-preserve-unknown-fields: true
                            value:
                              description: The value in any type
                              x-kubernetes-preserve-unknown-fields: true
                          required:
                            - key
                            - owner
                            - reason
                            - value
                          type: object
                        type: array
                      endpoints:
                        description: Data of endpoints for this instance
                        items:
                          description: Endpoint specific config properties
                          properties:
                            actual:
                              description: Actual name of the resource provision
                              minLength: 1
                              type: string
                            configs:
                              description: Configs for this resource
                              items:
                                description: Key value properties with owner annotation
                                properties:
                                  key:
                                    description: The key
                                    minLength: 1
                                    type: string
                                  owner:
                                    description: Owner of this config key. If a component is not the owner of this config it must keep it as-is.
                                    minLength: 1
                                    type: string
                                  reason:
                                    description: Additional info to reason why this config was set or changed by the owner. The owner can decide any type and structure of the data.
                                    x-kubernetes-preserve-unknown-fields: true
                                  value:
                                    description: The value in any type
                                    x-kubernetes-preserve-unknown-fields: true
                                required:
                                  - key
                                  - owner
                                  - reason
                                  - value
                                type: object
                              type: array
                          required:
                            - actual
                          type: object
                        type: array
                      nodes:
                        description: Data of nodes for this instance
                        items:
                          description: Node specific config properties
                          properties:
                            actual:
                              description: Actual name of the resource provision
                              minLength: 1
                              type: string
                            configs:
                              description: Configs for this resource
                              items:
                                description: Key value properties with owner annotation
                                properties:
                                  key:
                                    description: The key
                                    minLength: 1
                                    type: string
                                  owner:
                                    description: Owner of this config key. If a component is not the owner of this config it must keep it as-is.
                                    minLength: 1
                                    type: string
                                  reason:
                                    description: Additional info to reason why this config was set or changed by the owner. The owner can decide any type and structure of the data.
                                    x-kubernetes-preserve-unknown-fields: true
                                  value:
                                    description: The value in any type
                                    x-kubernetes-preserve-unknown-fields: true
                                required:
                                  - key
                                  - owner
                                  - reason
                                  - value
                                type: object
                              type: array
                          required:
                            - actual
                          type: object
                        type: array
                    required:
                      - actual
                    type: object
                  type: array
                configs:
                  description: Configs for this resource
                  items:
                    description: Key value properties with owner annotation
                    properties:
                      key:
                        description: The key
                        minLength: 1
                        type: string
                      owner:
                        description: Owner of this config key. If a component is not the owner of this config it must keep it as-is.
                        minLength: 1
                        type: string
                      reason:
                        description: Additional info to reason why this config was set or changed by the owner. The owner can decide any type and structure of the data.
                        x-kubernetes-preserve-unknown-fields: true
                      value:
                        description: The value in any type
                        x-kubernetes-preserve-unknown-fields: true
                    required:
                      - key
                      - owner
                      - reason
                      - value
                    type: object
                  type: array
              required:
                - actual
              type: object
            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
            status:
              description: Status of this resource
              properties:
                phase:
                  description: Phase to describe the overall current status
                  enum:
                    - error
                    - waiting
                    - ok
                    - ready
                  type: string
                reason:
                  description: A brief human-readable message indicating details about why this resource is in this state.
                  type: string
              type: object
          required:
            - data
            - metadata
          type: object
      served: true
      storage: true
      subresources:
        status: {}
