apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    build.aep.asag.io/source: svc-api
    build.aep.asag.io/version: 1.0.38
    controller-gen.kubebuilder.io/version: v0.10.0
  creationTimestamp: null
  name: settings.service.aep.asag.io
spec:
  group: service.aep.asag.io
  names:
    categories:
      - aep
    kind: Settings
    listKind: SettingsList
    plural: settings
    shortNames:
      - se
      - set
      - aeps
      - aepset
      - aepsetting
      - aepsettings
    singular: settings
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .metadata.namespace
          name: Vendor
          type: string
        - jsonPath: .spec.name
          name: Service
          type: string
        - jsonPath: .spec.version
          name: Version
          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
      name: v1
      schema:
        openAPIV3Schema:
          description: The service definition in a specific version
          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: Spec of this resource
              properties:
                clusters:
                  description: Available clusters and their properties in this service
                  items:
                    description: Cluster specific settings properties
                    properties:
                      endpoints:
                        description: Available endpoint properties
                        items:
                          description: Endpoint specific properties
                          properties:
                            name:
                              description: Name of the endpoint
                              type: string
                            network:
                              description: 'Specifies how the nodes of this endpoint are consolidated: - loadbalanced: the nodes are exposed through a cluster address so incoming traffic is loadbalanced using the kubernetes networking - direct: each node address is exposed itself so incoming traffic is addressed directly to the node'
                              enum:
                                - loadbalanced
                                - direct
                              type: string
                            ports:
                              description: Endpoints for this cluster grouped by endpoint group
                              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
                            schema:
                              description: Schema of the settings for this resource level to fullfill
                              type: object
                              x-kubernetes-preserve-unknown-fields: true
                          type: object
                        type: array
                      limits:
                        description: Limits configuration on this resource level
                        properties:
                          cpu:
                            anyOf:
                              - type: integer
                              - type: string
                            description: CPU count limit
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          ram:
                            anyOf:
                              - type: integer
                              - type: string
                            description: RAM size limit
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          rootfs:
                            anyOf:
                              - type: integer
                              - type: string
                            description: RootFS size limit
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                        type: object
                      name:
                        description: Name of the cluster
                        type: string
                      nodes:
                        description: Available nodes properties
                        properties:
                          schema:
                            description: Schema of the settings for this resource level to fullfill
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                        type: object
                      schema:
                        description: Schema of the settings for this resource level to fullfill
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      sizing:
                        description: Sizing range available for the cluster
                        properties:
                          increment:
                            description: Cluster size changes only in this increment, also used as decrement. If set to 0, no resizing can be done.
                            format: int32
                            type: integer
                          initial:
                            description: Initial cluster size if not specified exactly in the provision
                            format: int32
                            type: integer
                          maximum:
                            description: Maximum cluster size
                            format: int32
                            type: integer
                          minimum:
                            description: Minimum cluster size
                            format: int32
                            type: integer
                          setup:
                            description: Deployment defaults
                            properties:
                              additional:
                                description: Optionally adjust the node setup defaults for additional nodes. Can be omitted if the nodes definition options already provide the fitting defaults.
                                properties:
                                  limits:
                                    description: Limits for the node
                                    properties:
                                      cpu:
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        description: CPU count limit
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      ram:
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        description: RAM size limit
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      rootfs:
                                        anyOf:
                                          - type: integer
                                          - type: string
                                        description: RootFS size limit
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                    type: object
                                  settings:
                                    description: Settings for this resource which fullfills the jsonschema of the definitions settings
                                    items:
                                      description: Simple key value property
                                      properties:
                                        key:
                                          description: The key
                                          minLength: 1
                                          type: string
                                        value:
                                          description: The value in any type
                                          x-kubernetes-preserve-unknown-fields: true
                                      required:
                                        - key
                                        - value
                                      type: object
                                    type: array
                                type: object
                              initial:
                                description: Initial node setup defaults. Only used on fresh deployment.
                                items:
                                  properties:
                                    limits:
                                      description: Limits for the node
                                      properties:
                                        cpu:
                                          anyOf:
                                            - type: integer
                                            - type: string
                                          description: CPU count limit
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        ram:
                                          anyOf:
                                            - type: integer
                                            - type: string
                                          description: RAM size limit
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        rootfs:
                                          anyOf:
                                            - type: integer
                                            - type: string
                                          description: RootFS size limit
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    settings:
                                      description: Settings for this resource which fullfills the jsonschema of the definitions settings
                                      items:
                                        description: Simple key value property
                                        properties:
                                          key:
                                            description: The key
                                            minLength: 1
                                            type: string
                                          value:
                                            description: The value in any type
                                            x-kubernetes-preserve-unknown-fields: true
                                        required:
                                          - key
                                          - value
                                        type: object
                                      type: array
                                  type: object
                                type: array
                            type: object
                        type: object
                    type: object
                  type: array
                dependencies:
                  additionalProperties:
                    description: Dependency setting properties
                    properties:
                      clusters:
                        description: Available clusters and their properties in this dependency
                        items:
                          description: Cluster specific settings properties
                          properties:
                            endpoints:
                              description: Available endpoint properties
                              items:
                                description: Endpoint specific properties
                                properties:
                                  name:
                                    description: Name of the endpoint
                                    type: string
                                  network:
                                    description: 'Specifies how the nodes of this endpoint are consolidated: - loadbalanced: the nodes are exposed through a cluster address so incoming traffic is loadbalanced using the kubernetes networking - direct: each node address is exposed itself so incoming traffic is addressed directly to the node'
                                    enum:
                                      - loadbalanced
                                      - direct
                                    type: string
                                  ports:
                                    description: Endpoints for this cluster grouped by endpoint group
                                    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
                                  schema:
                                    description: Schema of the settings for this resource level to fullfill
                                    type: object
                                    x-kubernetes-preserve-unknown-fields: true
                                type: object
                              type: array
                            limits:
                              description: Limits configuration on this resource level
                              properties:
                                cpu:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  description: CPU count limit
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                ram:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  description: RAM size limit
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                rootfs:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  description: RootFS size limit
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                              type: object
                            name:
                              description: Name of the cluster
                              type: string
                            nodes:
                              description: Available nodes properties
                              properties:
                                schema:
                                  description: Schema of the settings for this resource level to fullfill
                                  type: object
                                  x-kubernetes-preserve-unknown-fields: true
                              type: object
                            schema:
                              description: Schema of the settings for this resource level to fullfill
                              type: object
                              x-kubernetes-preserve-unknown-fields: true
                            sizing:
                              description: Sizing range available for the cluster
                              properties:
                                increment:
                                  description: Cluster size changes only in this increment, also used as decrement. If set to 0, no resizing can be done.
                                  format: int32
                                  type: integer
                                initial:
                                  description: Initial cluster size if not specified exactly in the provision
                                  format: int32
                                  type: integer
                                maximum:
                                  description: Maximum cluster size
                                  format: int32
                                  type: integer
                                minimum:
                                  description: Minimum cluster size
                                  format: int32
                                  type: integer
                                setup:
                                  description: Deployment defaults
                                  properties:
                                    additional:
                                      description: Optionally adjust the node setup defaults for additional nodes. Can be omitted if the nodes definition options already provide the fitting defaults.
                                      properties:
                                        limits:
                                          description: Limits for the node
                                          properties:
                                            cpu:
                                              anyOf:
                                                - type: integer
                                                - type: string
                                              description: CPU count limit
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            ram:
                                              anyOf:
                                                - type: integer
                                                - type: string
                                              description: RAM size limit
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            rootfs:
                                              anyOf:
                                                - type: integer
                                                - type: string
                                              description: RootFS size limit
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        settings:
                                          description: Settings for this resource which fullfills the jsonschema of the definitions settings
                                          items:
                                            description: Simple key value property
                                            properties:
                                              key:
                                                description: The key
                                                minLength: 1
                                                type: string
                                              value:
                                                description: The value in any type
                                                x-kubernetes-preserve-unknown-fields: true
                                            required:
                                              - key
                                              - value
                                            type: object
                                          type: array
                                      type: object
                                    initial:
                                      description: Initial node setup defaults. Only used on fresh deployment.
                                      items:
                                        properties:
                                          limits:
                                            description: Limits for the node
                                            properties:
                                              cpu:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                description: CPU count limit
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                              ram:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                description: RAM size limit
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                              rootfs:
                                                anyOf:
                                                  - type: integer
                                                  - type: string
                                                description: RootFS size limit
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                            type: object
                                          settings:
                                            description: Settings for this resource which fullfills the jsonschema of the definitions settings
                                            items:
                                              description: Simple key value property
                                              properties:
                                                key:
                                                  description: The key
                                                  minLength: 1
                                                  type: string
                                                value:
                                                  description: The value in any type
                                                  x-kubernetes-preserve-unknown-fields: true
                                              required:
                                                - key
                                                - value
                                              type: object
                                            type: array
                                        type: object
                                      type: array
                                  type: object
                              type: object
                          type: object
                        type: array
                      dependencies:
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      limits:
                        description: Limits configuration on this resource level
                        properties:
                          cpu:
                            anyOf:
                              - type: integer
                              - type: string
                            description: CPU count limit
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          ram:
                            anyOf:
                              - type: integer
                              - type: string
                            description: RAM size limit
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          rootfs:
                            anyOf:
                              - type: integer
                              - type: string
                            description: RootFS size limit
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                        type: object
                      schema:
                        description: Schema of the settings for this resource level to fullfill
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                    type: object
                  description: Dependencies of this service
                  type: object
                limits:
                  description: Limits configuration on this resource level
                  properties:
                    cpu:
                      anyOf:
                        - type: integer
                        - type: string
                      description: CPU count limit
                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                      x-kubernetes-int-or-string: true
                    ram:
                      anyOf:
                        - type: integer
                        - type: string
                      description: RAM size limit
                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                      x-kubernetes-int-or-string: true
                    rootfs:
                      anyOf:
                        - type: integer
                        - type: string
                      description: RootFS size limit
                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                      x-kubernetes-int-or-string: true
                  type: object
                name:
                  description: Name of the service
                  type: string
                schema:
                  description: Schema of the settings for this resource level to fullfill
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                version:
                  description: Version of the service
                  type: string
              required:
                - version
              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
            - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
