
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  name: infraapiconfigs.cloud.pingcap.com
spec:
  group: cloud.pingcap.com
  names:
    kind: InfraAPIConfig
    listKind: InfraAPIConfigList
    plural: infraapiconfigs
    singular: infraapiconfig
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: InfraAPIConfig is the Schema for the infraapiconfigs API
        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
          configServiceUrl:
            type: string
          gardener:
            description: copy from https://github.com/tidbcloud/dbaas/blob/af433fc6bbd814c7f1630947246673f21b22d587/central/config/config.go#L216
            properties:
              awsMasterCount:
                format: int32
                type: integer
              awsMasterType:
                type: string
              gardenBaseDomain:
                description: The base domain of gardener
                type: string
              gardenerProjectName:
                type: string
              gcpMasterCount:
                format: int32
                type: integer
              gcpMasterType:
                type: string
              kubeConfigPath:
                description: kubeconfig file for base cluster, ignore if in cluster
                type: string
              nodeImage:
                type: string
              storageNodeImage:
                type: string
            required:
            - awsMasterCount
            - awsMasterType
            - gardenBaseDomain
            - gardenerProjectName
            - gcpMasterCount
            - gcpMasterType
            - kubeConfigPath
            - nodeImage
            - storageNodeImage
            type: object
          identityImage:
            type: string
          import:
            properties:
              centralRoleARN:
                type: string
              skipBanMyBuckets:
                type: boolean
            required:
            - centralRoleARN
            - skipBanMyBuckets
            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
          predicate:
            description: A label selector is a label query over a set of resources.
              The result of matchLabels and matchExpressions are ANDed. An empty label
              selector matches all objects. A null label selector matches no objects.
            properties:
              matchExpressions:
                description: matchExpressions is a list of label selector requirements.
                  The requirements are ANDed.
                items:
                  description: A label selector requirement is a selector that contains
                    values, a key, and an operator that relates the key and values.
                  properties:
                    key:
                      description: key is the label key that the selector applies
                        to.
                      type: string
                    operator:
                      description: operator represents a key's relationship to a set
                        of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                      type: string
                    values:
                      description: values is an array of string values. If the operator
                        is In or NotIn, the values array must be non-empty. If the
                        operator is Exists or DoesNotExist, the values array must
                        be empty. This array is replaced during a strategic merge
                        patch.
                      items:
                        type: string
                      type: array
                  required:
                  - key
                  - operator
                  type: object
                type: array
              matchLabels:
                additionalProperties:
                  type: string
                description: matchLabels is a map of {key,value} pairs. A single {key,value}
                  in the matchLabels map is equivalent to an element of matchExpressions,
                  whose key field is "key", the operator is "In", and the values array
                  contains only "value". The requirements are ANDed.
                type: object
            type: object
          server:
            properties:
              manifestDirectoryPrefix:
                type: string
            required:
            - manifestDirectoryPrefix
            type: object
        required:
        - configServiceUrl
        - gardener
        - identityImage
        - import
        - predicate
        - server
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
