# 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: v1beta17
      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: v1beta16
      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
                      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: {}
