apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    build.aep.asag.io/source: svc-api
    build.aep.asag.io/version: 1.0.49
    controller-gen.kubebuilder.io/version: v0.10.0
  creationTimestamp: null
  name: states.service.aep.asag.io
spec:
  group: service.aep.asag.io
  names:
    kind: State
    listKind: StateList
    plural: states
    shortNames:
      - st
      - state
      - aepst
      - aepstate
    singular: state
  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: State 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
            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
            provision:
              description: Provision state of this resource
              properties:
                dependencies:
                  additionalProperties:
                    description: Depency specific state properties
                    properties:
                      actual:
                        description: Effective name of the resource provision
                        type: string
                      initComplete:
                        description: Initialisation complete
                        type: boolean
                      namespace:
                        description: Effective namespace of the dependency, if unset same as current provision
                        type: string
                      phase:
                        description: Phase to describe the overall current status
                        enum:
                          - error
                          - waiting
                          - ok
                          - ready
                        type: string
                      progress:
                        description: A simple progress indicator of the current transition. If not empty a transition is ongoing and the value contains an integer from 0 up to 100 with percent sign. Empty means there is no transition or the transition is finished (whether successful or not) and thus the expected result should be checked with the `phase` field.
                        type: string
                      reason:
                        description: A brief human-readable message indicating details about why this resource is in this state.
                        type: string
                      uid:
                        description: UID of the resource provision
                        type: string
                    type: object
                  description: Instance state of this resource
                  type: object
                initComplete:
                  description: Initialisation complete
                  type: boolean
                instance:
                  description: Instance state of this resource
                  properties:
                    actual:
                      description: Effective name of the resource provision
                      type: string
                    clusters:
                      description: Data of clusters for this instance
                      items:
                        description: Cluster specific state properties
                        properties:
                          actual:
                            description: Effective name of the resource provision
                            type: string
                          endpoints:
                            description: Data of endpoints for this instance
                            items:
                              description: Endpoint specific state properties
                              properties:
                                actual:
                                  description: Effective name of the resource provision
                                  type: string
                                addresses:
                                  description: List of endpoint addresses
                                  items:
                                    description: EndpointAddress contain the addresses to a network node
                                    properties:
                                      fqdn:
                                        description: The FQDN of this endpoint address
                                        type: string
                                      ip:
                                        description: The primary IP (the first returned address from the underlying resource, which can depend on the configuration order). Holds only one address if both v4 and v6 are configured.
                                        type: string
                                    type: object
                                  type: array
                                backends:
                                  description: List of backend addresses. Only available if network type is loadbalanced.
                                  items:
                                    description: EndpointBackend info and address
                                    properties:
                                      node:
                                        description: Name of the node
                                        type: string
                                      ready:
                                        description: Whether the node is ready and accepting traffic
                                        type: boolean
                                    type: object
                                  type: array
                                name:
                                  description: Which endpoint definition this entry belongs to
                                  type: string
                                phase:
                                  description: Phase to describe the overall current status
                                  enum:
                                    - error
                                    - waiting
                                    - ok
                                    - ready
                                  type: string
                                ports:
                                  description: List of endpoint ports
                                  items:
                                    description: Protocol and port address info
                                    properties:
                                      name:
                                        description: Name of the port
                                        type: string
                                      port:
                                        description: Port
                                        format: int32
                                        type: integer
                                      protocol:
                                        default: TCP
                                        description: Protocol
                                        enum:
                                          - TCP
                                          - UDP
                                        type: string
                                    required:
                                      - port
                                      - protocol
                                    type: object
                                  type: array
                                reason:
                                  description: A brief human-readable message indicating details about why this resource is in this state.
                                  type: string
                                uid:
                                  description: UID of the resource provision
                                  type: string
                              type: object
                            type: array
                          name:
                            description: Which cluster definition this entry belongs to
                            type: string
                          nodes:
                            description: Data of nodes for this instance
                            items:
                              description: Node specific state properties
                              properties:
                                actual:
                                  description: Effective name of the resource provision
                                  type: string
                                fqdn:
                                  description: The FQDN of this endpoint address
                                  type: string
                                ip:
                                  description: The primary IP (the first returned address from the underlying resource, which can depend on the configuration order). Holds only one address if both v4 and v6 are configured.
                                  type: string
                                minion:
                                  description: Which minion the node is running on
                                  type: string
                                phase:
                                  description: Phase to describe the overall current status
                                  enum:
                                    - error
                                    - waiting
                                    - ok
                                    - ready
                                  type: string
                                podPhase:
                                  description: The pod phase as status
                                  type: string
                                ports:
                                  description: List of ports exposed from the container
                                  items:
                                    description: Protocol and port address info
                                    properties:
                                      name:
                                        description: Name of the port
                                        type: string
                                      port:
                                        description: Port
                                        format: int32
                                        type: integer
                                      protocol:
                                        default: TCP
                                        description: Protocol
                                        enum:
                                          - TCP
                                          - UDP
                                        type: string
                                    required:
                                      - port
                                      - protocol
                                    type: object
                                  type: array
                                ready:
                                  description: Whether the pod is ready for incoming traffic. The readiness probe, if defined in the pod, has succeeded.
                                  type: boolean
                                reason:
                                  description: A brief human-readable message indicating details about why this resource is in this state.
                                  type: string
                                uid:
                                  description: UID of the resource provision
                                  type: string
                              type: object
                            type: array
                          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
                          uid:
                            description: UID of the resource provision
                            type: string
                        type: object
                      type: array
                    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
                    uid:
                      description: UID of the resource provision
                      type: string
                  type: object
                name:
                  description: Effective name of the provision
                  type: string
                namespace:
                  description: Effective namespace of the provision
                  type: string
                phase:
                  description: Phase to describe the overall current status
                  enum:
                    - error
                    - waiting
                    - ok
                    - ready
                  type: string
                progress:
                  description: A simple progress indicator of the current transition. If not empty a transition is ongoing and the value contains an integer from 0 up to 100 with percent sign. Empty means there is no transition or the transition is finished (whether successful or not) and thus the expected result should be checked with the `phase` field.
                  type: string
                reason:
                  description: A brief human-readable message indicating details about why this resource is in this state.
                  type: string
                uid:
                  description: UID of the provision
                  type: string
              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:
            - metadata
            - provision
          type: object
      served: true
      storage: true
      subresources:
        status: {}
