# Generated by Fabric8 CRDGenerator, manual edits might get overwritten!
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: gerritnetworks.gerritoperator.google.com
spec:
  group: gerritoperator.google.com
  names:
    kind: GerritNetwork
    plural: gerritnetworks
    shortNames:
      - gn
    singular: gerritnetwork
  scope: Namespaced
  versions:
    - name: v1beta19
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                gerritReplica:
                  properties:
                    httpPort:
                      type: integer
                    name:
                      type: string
                    sshPort:
                      type: integer
                  type: object
                ingress:
                  properties:
                    ambassador:
                      properties:
                        createHost:
                          type: boolean
                        id:
                          items:
                            type: string
                          type: array
                      type: object
                    annotations:
                      additionalProperties:
                        type: string
                      type: object
                    enabled:
                      type: boolean
                    host:
                      type: string
                    istio:
                      properties:
                        gatewaySelector:
                          additionalProperties:
                            type: string
                          type: object
                        mTLS:
                          type: boolean
                      type: object
                    pathPrefix:
                      type: string
                    ssh:
                      properties:
                        enabled:
                          type: boolean
                      type: object
                    tls:
                      properties:
                        enabled:
                          type: boolean
                        secret:
                          type: string
                      type: object
                  type: object
                primaryGerrit:
                  properties:
                    httpPort:
                      type: integer
                    name:
                      type: string
                    sshPort:
                      type: integer
                  type: object
                receiver:
                  properties:
                    httpPort:
                      type: integer
                    name:
                      type: string
                  type: object
              type: object
            status:
              properties:
                apiVersion:
                  type: string
                code:
                  type: integer
                details:
                  properties:
                    causes:
                      items:
                        properties:
                          field:
                            type: string
                          message:
                            type: string
                          reason:
                            type: string
                        type: object
                      type: array
                    group:
                      type: string
                    kind:
                      type: string
                    name:
                      type: string
                    retryAfterSeconds:
                      type: integer
                    uid:
                      type: string
                  type: object
                kind:
                  type: string
                message:
                  type: string
                metadata:
                  properties:
                    continue:
                      type: string
                    remainingItemCount:
                      type: integer
                    resourceVersion:
                      type: string
                    selfLink:
                      type: string
                  type: object
                reason:
                  type: string
                status:
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
    - name: v1beta18
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                gerritReplica:
                  properties:
                    httpPort:
                      type: integer
                    name:
                      type: string
                    sshPort:
                      type: integer
                  type: object
                ingress:
                  properties:
                    ambassador:
                      properties:
                        createHost:
                          type: boolean
                        id:
                          items:
                            type: string
                          type: array
                      type: object
                    annotations:
                      additionalProperties:
                        type: string
                      type: object
                    enabled:
                      type: boolean
                    host:
                      type: string
                    istio:
                      properties:
                        gatewaySelector:
                          additionalProperties:
                            type: string
                          type: object
                        mTLS:
                          type: boolean
                      type: object
                    pathPrefix:
                      type: string
                    ssh:
                      properties:
                        enabled:
                          type: boolean
                      type: object
                    tls:
                      properties:
                        enabled:
                          type: boolean
                        secret:
                          type: string
                      type: object
                  type: object
                primaryGerrit:
                  properties:
                    httpPort:
                      type: integer
                    name:
                      type: string
                    sshPort:
                      type: integer
                  type: object
                receiver:
                  properties:
                    httpPort:
                      type: integer
                    name:
                      type: string
                  type: object
              type: object
            status:
              properties:
                apiVersion:
                  type: string
                code:
                  type: integer
                details:
                  properties:
                    causes:
                      items:
                        properties:
                          field:
                            type: string
                          message:
                            type: string
                          reason:
                            type: string
                        type: object
                      type: array
                    group:
                      type: string
                    kind:
                      type: string
                    name:
                      type: string
                    retryAfterSeconds:
                      type: integer
                    uid:
                      type: string
                  type: object
                kind:
                  type: string
                message:
                  type: string
                metadata:
                  properties:
                    continue:
                      type: string
                    remainingItemCount:
                      type: integer
                    resourceVersion:
                      type: string
                    selfLink:
                      type: string
                  type: object
                reason:
                  type: string
                status:
                  type: string
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
