github.com/ironcore-dev/gardener-extension-provider-ironcore@v0.3.2-0.20240314231816-8336447fb9a0/example/20-crd-extensions.gardener.cloud_dnsrecords.yaml (about)

     1  ---
     2  apiVersion: apiextensions.k8s.io/v1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    annotations:
     6      controller-gen.kubebuilder.io/version: v0.13.0
     7    name: dnsrecords.extensions.gardener.cloud
     8  spec:
     9    group: extensions.gardener.cloud
    10    names:
    11      kind: DNSRecord
    12      listKind: DNSRecordList
    13      plural: dnsrecords
    14      shortNames:
    15      - dns
    16      singular: dnsrecord
    17    scope: Namespaced
    18    versions:
    19    - additionalPrinterColumns:
    20      - description: The DNS record provider type.
    21        jsonPath: .spec.type
    22        name: Type
    23        type: string
    24      - description: The DNS record domain name.
    25        jsonPath: .spec.name
    26        name: Domain Name
    27        type: string
    28      - description: The DNS record type (A, CNAME, or TXT).
    29        jsonPath: .spec.recordType
    30        name: Record Type
    31        type: string
    32      - jsonPath: .status.lastOperation.state
    33        name: Status
    34        type: string
    35      - jsonPath: .metadata.creationTimestamp
    36        name: Age
    37        type: date
    38      name: v1alpha1
    39      schema:
    40        openAPIV3Schema:
    41          description: DNSRecord is a specification for a DNSRecord resource.
    42          properties:
    43            apiVersion:
    44              description: 'APIVersion defines the versioned schema of this representation
    45                of an object. Servers should convert recognized schemas to the latest
    46                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    47              type: string
    48            kind:
    49              description: 'Kind is a string value representing the REST resource this
    50                object represents. Servers may infer this from the endpoint the client
    51                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    52              type: string
    53            metadata:
    54              type: object
    55            spec:
    56              description: Specification of the DNSRecord. If the object's deletion
    57                timestamp is set, this field is immutable.
    58              properties:
    59                name:
    60                  description: Name is the fully qualified domain name, e.g. "api.<shoot
    61                    domain>". This field is immutable.
    62                  type: string
    63                providerConfig:
    64                  description: ProviderConfig is the provider specific configuration.
    65                  type: object
    66                  x-kubernetes-preserve-unknown-fields: true
    67                recordType:
    68                  description: RecordType is the DNS record type. Only A, CNAME, and
    69                    TXT records are currently supported. This field is immutable.
    70                  type: string
    71                region:
    72                  description: Region is the region of this DNS record. If not specified,
    73                    the region specified in SecretRef will be used. If that is also
    74                    not specified, the extension controller will use its default region.
    75                  type: string
    76                secretRef:
    77                  description: SecretRef is a reference to a secret that contains the
    78                    cloud provider specific credentials.
    79                  properties:
    80                    name:
    81                      description: name is unique within a namespace to reference a
    82                        secret resource.
    83                      type: string
    84                    namespace:
    85                      description: namespace defines the space within which the secret
    86                        name must be unique.
    87                      type: string
    88                  type: object
    89                  x-kubernetes-map-type: atomic
    90                ttl:
    91                  description: TTL is the time to live in seconds. Defaults to 120.
    92                  format: int64
    93                  type: integer
    94                type:
    95                  description: Type contains the instance of the resource's kind.
    96                  type: string
    97                values:
    98                  description: Values is a list of IP addresses for A records, a single
    99                    hostname for CNAME records, or a list of texts for TXT records.
   100                  items:
   101                    type: string
   102                  type: array
   103                zone:
   104                  description: Zone is the DNS hosted zone of this DNS record. If not
   105                    specified, it will be determined automatically by getting all hosted
   106                    zones of the account and searching for the longest zone name that
   107                    is a suffix of Name.
   108                  type: string
   109              required:
   110              - name
   111              - recordType
   112              - secretRef
   113              - type
   114              - values
   115              type: object
   116            status:
   117              description: DNSRecordStatus is the status of a DNSRecord resource.
   118              properties:
   119                conditions:
   120                  description: Conditions represents the latest available observations
   121                    of a Seed's current state.
   122                  items:
   123                    description: Condition holds the information about the state of
   124                      a resource.
   125                    properties:
   126                      codes:
   127                        description: Well-defined error codes in case the condition
   128                          reports a problem.
   129                        items:
   130                          description: ErrorCode is a string alias.
   131                          type: string
   132                        type: array
   133                      lastTransitionTime:
   134                        description: Last time the condition transitioned from one status
   135                          to another.
   136                        format: date-time
   137                        type: string
   138                      lastUpdateTime:
   139                        description: Last time the condition was updated.
   140                        format: date-time
   141                        type: string
   142                      message:
   143                        description: A human readable message indicating details about
   144                          the transition.
   145                        type: string
   146                      reason:
   147                        description: The reason for the condition's last transition.
   148                        type: string
   149                      status:
   150                        description: Status of the condition, one of True, False, Unknown.
   151                        type: string
   152                      type:
   153                        description: Type of the condition.
   154                        type: string
   155                    required:
   156                    - lastTransitionTime
   157                    - lastUpdateTime
   158                    - message
   159                    - reason
   160                    - status
   161                    - type
   162                    type: object
   163                  type: array
   164                lastError:
   165                  description: LastError holds information about the last occurred error
   166                    during an operation.
   167                  properties:
   168                    codes:
   169                      description: Well-defined error codes of the last error(s).
   170                      items:
   171                        description: ErrorCode is a string alias.
   172                        type: string
   173                      type: array
   174                    description:
   175                      description: A human readable message indicating details about
   176                        the last error.
   177                      type: string
   178                    lastUpdateTime:
   179                      description: Last time the error was reported
   180                      format: date-time
   181                      type: string
   182                    taskID:
   183                      description: ID of the task which caused this last error
   184                      type: string
   185                  required:
   186                  - description
   187                  type: object
   188                lastOperation:
   189                  description: LastOperation holds information about the last operation
   190                    on the resource.
   191                  properties:
   192                    description:
   193                      description: A human readable message indicating details about
   194                        the last operation.
   195                      type: string
   196                    lastUpdateTime:
   197                      description: Last time the operation state transitioned from one
   198                        to another.
   199                      format: date-time
   200                      type: string
   201                    progress:
   202                      description: The progress in percentage (0-100) of the last operation.
   203                      format: int32
   204                      type: integer
   205                    state:
   206                      description: Status of the last operation, one of Aborted, Processing,
   207                        Succeeded, Error, Failed.
   208                      type: string
   209                    type:
   210                      description: Type of the last operation, one of Create, Reconcile,
   211                        Delete, Migrate, Restore.
   212                      type: string
   213                  required:
   214                  - description
   215                  - lastUpdateTime
   216                  - progress
   217                  - state
   218                  - type
   219                  type: object
   220                observedGeneration:
   221                  description: ObservedGeneration is the most recent generation observed
   222                    for this resource.
   223                  format: int64
   224                  type: integer
   225                providerStatus:
   226                  description: ProviderStatus contains provider-specific status.
   227                  type: object
   228                  x-kubernetes-preserve-unknown-fields: true
   229                resources:
   230                  description: Resources holds a list of named resource references that
   231                    can be referred to in the state by their names.
   232                  items:
   233                    description: NamedResourceReference is a named reference to a resource.
   234                    properties:
   235                      name:
   236                        description: Name of the resource reference.
   237                        type: string
   238                      resourceRef:
   239                        description: ResourceRef is a reference to a resource.
   240                        properties:
   241                          apiVersion:
   242                            description: apiVersion is the API version of the referent
   243                            type: string
   244                          kind:
   245                            description: 'kind is the kind of the referent; More info:
   246                              https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   247                            type: string
   248                          name:
   249                            description: 'name is the name of the referent; More info:
   250                              https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   251                            type: string
   252                        required:
   253                        - kind
   254                        - name
   255                        type: object
   256                        x-kubernetes-map-type: atomic
   257                    required:
   258                    - name
   259                    - resourceRef
   260                    type: object
   261                  type: array
   262                state:
   263                  description: State can be filled by the operating controller with
   264                    what ever data it needs.
   265                  type: object
   266                  x-kubernetes-preserve-unknown-fields: true
   267                zone:
   268                  description: Zone is the DNS hosted zone of this DNS record.
   269                  type: string
   270              type: object
   271          required:
   272          - spec
   273          type: object
   274      served: true
   275      storage: true
   276      subresources:
   277        status: {}