apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: managedcertificates.networking.gke.io
spec:
  conversion:
    strategy: None
  group: networking.gke.io
  names:
    kind: ManagedCertificate
    listKind: ManagedCertificateList
    plural: managedcertificates
    shortNames:
      - mcrt
    singular: managedcertificate
  preserveUnknownFields: true
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                domains:
                  items:
                    maxLength: 63
                    pattern: ^(([a-z0-9]+|[a-z0-9][-a-z0-9]*[a-z0-9])\.)+[a-z][-a-z0-9]*[a-z0-9]$
                    type: string
                  maxItems: 1
                  type: array
              type: object
            status:
              properties:
                certificateName:
                  type: string
                certificateStatus:
                  type: string
                domainStatus:
                  items:
                    properties:
                      domain:
                        type: string
                      status:
                        type: string
                    required:
                      - domain
                      - status
                    type: object
                  type: array
                expireTime:
                  format: date-time
                  type: string
              type: object
          type: object
      served: true
      storage: false
    - name: v1beta2
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                domains:
                  items:
                    maxLength: 63
                    pattern: ^(([a-z0-9]+|[a-z0-9][-a-z0-9]*[a-z0-9])\.)+[a-z][-a-z0-9]*[a-z0-9]$
                    type: string
                  maxItems: 100
                  type: array
              type: object
            status:
              properties:
                certificateName:
                  type: string
                certificateStatus:
                  type: string
                domainStatus:
                  items:
                    properties:
                      domain:
                        type: string
                      status:
                        type: string
                    required:
                      - domain
                      - status
                    type: object
                  type: array
                expireTime:
                  format: date-time
                  type: string
              type: object
          type: object
      served: true
      storage: false
    - additionalPrinterColumns:
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
        - description: Status of the managed certificate
          jsonPath: .status.certificateStatus
          name: Status
          type: string
      name: v1
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                domains:
                  items:
                    maxLength: 63
                    pattern: ^(([a-z0-9]+|[a-z0-9][-a-z0-9]*[a-z0-9])\.)+[a-z][-a-z0-9]*[a-z0-9]$
                    type: string
                  maxItems: 100
                  type: array
              type: object
            status:
              properties:
                certificateName:
                  type: string
                certificateStatus:
                  type: string
                domainStatus:
                  items:
                    properties:
                      domain:
                        type: string
                      status:
                        type: string
                    required:
                      - domain
                      - status
                    type: object
                  type: array
                expireTime:
                  format: date-time
                  type: string
              type: object
          type: object
      served: true
      storage: true
