apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    "helm.sh/resource-policy": keep
  name: istiomeshgateways.servicemesh.cisco.com
  labels:
    resource.alpha.banzaicloud.io/revision: 1.10.4
spec:
  group: servicemesh.cisco.com
  names:
    kind: IstioMeshGateway
    listKind: IstioMeshGatewayList
    plural: istiomeshgateways
    shortNames:
      - imgw
      - istiomgw
    singular: istiomeshgateway
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - description: Type of the gateway
          jsonPath: .spec.type
          name: Type
          type: string
        - description: Type of the service
          jsonPath: .spec.service.type
          name: Service Type
          type: string
        - description: Status of the resource
          jsonPath: .status.Status
          name: Status
          type: string
        - description: Ingress gateway addresses of the resource
          jsonPath: .status.GatewayAddress
          name: Ingress IPs
          type: string
        - description: Error message
          jsonPath: .status.ErrorMessage
          name: Error
          type: string
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
        - jsonPath: .spec.istioControlPlane
          name: Control Plane
          type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                deployment:
                  properties:
                    affinity:
                      properties:
                        nodeAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  preference:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        type: array
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        type: array
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              properties:
                                nodeSelectorTerms:
                                  items:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        type: array
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        type: array
                                    type: object
                                  type: array
                              type: object
                          type: object
                        podAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                type: object
                              type: array
                          type: object
                        podAntiAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                type: object
                              type: array
                          type: object
                      type: object
                    deploymentStrategy:
                      properties:
                        rollingUpdate:
                          properties:
                            maxSurge:
                              anyOf:
                                - type: integer
                                - type: string
                              x-kubernetes-int-or-string: true
                            maxUnavailable:
                              anyOf:
                                - type: integer
                                - type: string
                              x-kubernetes-int-or-string: true
                          type: object
                        type:
                          type: string
                      type: object
                    env:
                      items:
                        properties:
                          name:
                            type: string
                          value:
                            type: string
                          valueFrom:
                            properties:
                              configMapKeyRef:
                                properties:
                                  key:
                                    type: string
                                  localObjectReference:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  optional:
                                    type: boolean
                                type: object
                              fieldRef:
                                properties:
                                  apiVersion:
                                    type: string
                                  fieldPath:
                                    type: string
                                type: object
                              resourceFieldRef:
                                properties:
                                  containerName:
                                    type: string
                                  divisor:
                                    anyOf:
                                      - type: integer
                                      - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  resource:
                                    type: string
                                type: object
                              secretKeyRef:
                                properties:
                                  key:
                                    type: string
                                  localObjectReference:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                        type: object
                      type: array
                    image:
                      type: string
                    imagePullPolicy:
                      type: string
                    imagePullSecrets:
                      items:
                        properties:
                          name:
                            type: string
                        type: object
                      type: array
                    livenessProbe:
                      properties:
                        failureThreshold:
                          format: int32
                          type: integer
                        handler:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              type: object
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        initialDelaySeconds:
                          format: int32
                          type: integer
                        periodSeconds:
                          format: int32
                          type: integer
                        successThreshold:
                          format: int32
                          type: integer
                        timeoutSeconds:
                          format: int32
                          type: integer
                      type: object
                    metadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    nodeSelector:
                      additionalProperties:
                        type: string
                      type: object
                    podDisruptionBudget:
                      properties:
                        maxUnavailable:
                          anyOf:
                            - type: integer
                            - type: string
                          x-kubernetes-int-or-string: true
                        minAvailable:
                          anyOf:
                            - type: integer
                            - type: string
                          x-kubernetes-int-or-string: true
                      type: object
                    podMetadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    podSecurityContext:
                      properties:
                        fsGroup:
                          format: int64
                          type: integer
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        supplementalGroups:
                          items:
                            format: int64
                            type: integer
                          type: array
                        sysctls:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            type: object
                          type: array
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    priorityClassName:
                      type: string
                    readinessProbe:
                      properties:
                        failureThreshold:
                          format: int32
                          type: integer
                        handler:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              type: object
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                    - type: integer
                                    - type: string
                                  x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        initialDelaySeconds:
                          format: int32
                          type: integer
                        periodSeconds:
                          format: int32
                          type: integer
                        successThreshold:
                          format: int32
                          type: integer
                        timeoutSeconds:
                          format: int32
                          type: integer
                      type: object
                    replicas:
                      properties:
                        count:
                          minimum: 0
                          nullable: true
                          type: integer
                        max:
                          minimum: 0
                          nullable: true
                          type: integer
                        min:
                          minimum: 0
                          nullable: true
                          type: integer
                        targetCPUUtilizationPercentage:
                          minimum: 0
                          nullable: true
                          type: integer
                      type: object
                    resources:
                      properties:
                        limits:
                          additionalProperties:
                            anyOf:
                              - type: integer
                              - type: string
                            x-kubernetes-int-or-string: true
                          type: object
                        requests:
                          additionalProperties:
                            anyOf:
                              - type: integer
                              - type: string
                            x-kubernetes-int-or-string: true
                          type: object
                      type: object
                    securityContext:
                      properties:
                        allowPrivilegeEscalation:
                          type: boolean
                        capabilities:
                          properties:
                            add:
                              items:
                                type: string
                              type: array
                            drop:
                              items:
                                type: string
                              type: array
                          type: object
                        privileged:
                          type: boolean
                        procMount:
                          type: string
                        readOnlyRootFilesystem:
                          type: boolean
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    tolerations:
                      items:
                        properties:
                          effect:
                            type: string
                          key:
                            type: string
                          operator:
                            type: string
                          tolerationSeconds:
                            format: int64
                            type: integer
                          value:
                            type: string
                        type: object
                      type: array
                    volumeMounts:
                      items:
                        properties:
                          mountPath:
                            type: string
                          mountPropagation:
                            type: string
                          name:
                            type: string
                          readOnly:
                            type: boolean
                          subPath:
                            type: string
                          subPathExpr:
                            type: string
                        type: object
                      type: array
                    volumes:
                      items:
                        properties:
                          name:
                            type: string
                          volumeSource:
                            properties:
                              awsElasticBlockStore:
                                properties:
                                  fsType:
                                    type: string
                                  partition:
                                    format: int32
                                    type: integer
                                  readOnly:
                                    type: boolean
                                  volumeID:
                                    type: string
                                type: object
                              azureDisk:
                                properties:
                                  cachingMode:
                                    type: string
                                  diskName:
                                    type: string
                                  diskURI:
                                    type: string
                                  fsType:
                                    type: string
                                  kind:
                                    type: string
                                  readOnly:
                                    type: boolean
                                type: object
                              azureFile:
                                properties:
                                  readOnly:
                                    type: boolean
                                  secretName:
                                    type: string
                                  shareName:
                                    type: string
                                type: object
                              cephfs:
                                properties:
                                  monitors:
                                    items:
                                      type: string
                                    type: array
                                  path:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretFile:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  user:
                                    type: string
                                type: object
                              cinder:
                                properties:
                                  fsType:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  volumeID:
                                    type: string
                                type: object
                              configMap:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      type: object
                                    type: array
                                  localObjectReference:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  optional:
                                    type: boolean
                                type: object
                              csi:
                                properties:
                                  driver:
                                    type: string
                                  fsType:
                                    type: string
                                  nodePublishSecretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  readOnly:
                                    type: boolean
                                  volumeAttributes:
                                    additionalProperties:
                                      type: string
                                    type: object
                                type: object
                              downwardAPI:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  items:
                                    items:
                                      properties:
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          type: object
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                                - type: integer
                                                - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          type: object
                                      type: object
                                    type: array
                                type: object
                              emptyDir:
                                properties:
                                  medium:
                                    type: string
                                  sizeLimit:
                                    anyOf:
                                      - type: integer
                                      - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                type: object
                              fc:
                                properties:
                                  fsType:
                                    type: string
                                  lun:
                                    format: int32
                                    type: integer
                                  readOnly:
                                    type: boolean
                                  targetWWNs:
                                    items:
                                      type: string
                                    type: array
                                  wwids:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              flexVolume:
                                properties:
                                  driver:
                                    type: string
                                  fsType:
                                    type: string
                                  options:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                type: object
                              flocker:
                                properties:
                                  datasetName:
                                    type: string
                                  datasetUUID:
                                    type: string
                                type: object
                              gcePersistentDisk:
                                properties:
                                  fsType:
                                    type: string
                                  partition:
                                    format: int32
                                    type: integer
                                  pdName:
                                    type: string
                                  readOnly:
                                    type: boolean
                                type: object
                              gitRepo:
                                properties:
                                  directory:
                                    type: string
                                  repository:
                                    type: string
                                  revision:
                                    type: string
                                type: object
                              glusterfs:
                                properties:
                                  endpoints:
                                    type: string
                                  path:
                                    type: string
                                  readOnly:
                                    type: boolean
                                type: object
                              hostPath:
                                properties:
                                  path:
                                    type: string
                                  type:
                                    type: string
                                type: object
                              iscsi:
                                properties:
                                  chapAuthDiscovery:
                                    type: boolean
                                  chapAuthSession:
                                    type: boolean
                                  fsType:
                                    type: string
                                  initiatorName:
                                    type: string
                                  iqn:
                                    type: string
                                  iscsiInterface:
                                    type: string
                                  lun:
                                    format: int32
                                    type: integer
                                  portals:
                                    items:
                                      type: string
                                    type: array
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  targetPortal:
                                    type: string
                                type: object
                              nfs:
                                properties:
                                  path:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  server:
                                    type: string
                                type: object
                              persistentVolumeClaim:
                                properties:
                                  claimName:
                                    type: string
                                  readOnly:
                                    type: boolean
                                type: object
                              photonPersistentDisk:
                                properties:
                                  fsType:
                                    type: string
                                  pdID:
                                    type: string
                                type: object
                              portworxVolume:
                                properties:
                                  fsType:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  volumeID:
                                    type: string
                                type: object
                              projected:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  sources:
                                    items:
                                      properties:
                                        configMap:
                                          properties:
                                            items:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            localObjectReference:
                                              properties:
                                                name:
                                                  type: string
                                              type: object
                                            optional:
                                              type: boolean
                                          type: object
                                        downwardAPI:
                                          properties:
                                            items:
                                              items:
                                                properties:
                                                  fieldRef:
                                                    properties:
                                                      apiVersion:
                                                        type: string
                                                      fieldPath:
                                                        type: string
                                                    type: object
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  path:
                                                    type: string
                                                  resourceFieldRef:
                                                    properties:
                                                      containerName:
                                                        type: string
                                                      divisor:
                                                        anyOf:
                                                          - type: integer
                                                          - type: string
                                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                        x-kubernetes-int-or-string: true
                                                      resource:
                                                        type: string
                                                    type: object
                                                type: object
                                              type: array
                                          type: object
                                        secret:
                                          properties:
                                            items:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  path:
                                                    type: string
                                                type: object
                                              type: array
                                            localObjectReference:
                                              properties:
                                                name:
                                                  type: string
                                              type: object
                                            optional:
                                              type: boolean
                                          type: object
                                        serviceAccountToken:
                                          properties:
                                            audience:
                                              type: string
                                            expirationSeconds:
                                              format: int64
                                              type: integer
                                            path:
                                              type: string
                                          type: object
                                      type: object
                                    type: array
                                type: object
                              quobyte:
                                properties:
                                  group:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  registry:
                                    type: string
                                  tenant:
                                    type: string
                                  user:
                                    type: string
                                  volume:
                                    type: string
                                type: object
                              rbd:
                                properties:
                                  fsType:
                                    type: string
                                  image:
                                    type: string
                                  keyring:
                                    type: string
                                  monitors:
                                    items:
                                      type: string
                                    type: array
                                  pool:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  user:
                                    type: string
                                type: object
                              scaleIO:
                                properties:
                                  fsType:
                                    type: string
                                  gateway:
                                    type: string
                                  protectionDomain:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  sslEnabled:
                                    type: boolean
                                  storageMode:
                                    type: string
                                  storagePool:
                                    type: string
                                  system:
                                    type: string
                                  volumeName:
                                    type: string
                                type: object
                              secret:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      type: object
                                    type: array
                                  optional:
                                    type: boolean
                                  secretName:
                                    type: string
                                type: object
                              storageos:
                                properties:
                                  fsType:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  volumeName:
                                    type: string
                                  volumeNamespace:
                                    type: string
                                type: object
                              vsphereVolume:
                                properties:
                                  fsType:
                                    type: string
                                  storagePolicyID:
                                    type: string
                                  storagePolicyName:
                                    type: string
                                  volumePath:
                                    type: string
                                type: object
                            type: object
                        type: object
                      type: array
                  type: object
                istioControlPlane:
                  properties:
                    name:
                      type: string
                    namespace:
                      type: string
                  type: object
                k8sResourceOverlays:
                  items:
                    properties:
                      groupVersionKind:
                        properties:
                          group:
                            type: string
                          kind:
                            type: string
                          version:
                            type: string
                        type: object
                      objectKey:
                        properties:
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      patches:
                        items:
                          properties:
                            parseValue:
                              type: boolean
                            path:
                              type: string
                            type:
                              enum:
                                - unspecified
                                - replace
                                - remove
                              type: string
                            value:
                              type: string
                          type: object
                        type: array
                    type: object
                  type: array
                runAsRoot:
                  nullable: true
                  type: boolean
                service:
                  properties:
                    clusterIP:
                      type: string
                    externalIPs:
                      items:
                        type: string
                      type: array
                    externalName:
                      type: string
                    externalTrafficPolicy:
                      type: string
                    healthCheckNodePort:
                      format: int32
                      type: integer
                    ipFamily:
                      type: string
                    loadBalancerIP:
                      type: string
                    loadBalancerSourceRanges:
                      items:
                        type: string
                      type: array
                    metadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    ports:
                      items:
                        properties:
                          name:
                            type: string
                          nodePort:
                            format: int32
                            type: integer
                          port:
                            format: int32
                            type: integer
                          protocol:
                            default: TCP
                            type: string
                          targetPort:
                            anyOf:
                              - type: integer
                              - type: string
                            x-kubernetes-int-or-string: true
                        required:
                          - port
                        type: object
                      minItems: 1
                      type: array
                      x-kubernetes-list-map-keys:
                        - port
                        - protocol
                      x-kubernetes-list-type: map
                    publishNotReadyAddresses:
                      nullable: true
                      type: boolean
                    selector:
                      additionalProperties:
                        type: string
                      type: object
                    sessionAffinity:
                      type: string
                    sessionAffinityConfig:
                      properties:
                        clientIP:
                          properties:
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                      type: object
                    type:
                      enum:
                        - ClusterIP
                        - NodePort
                        - LoadBalancer
                      type: string
                  required:
                    - ports
                    - type
                  type: object
                type:
                  enum:
                    - ingress
                    - egress
                  type: string
              required:
                - istioControlPlane
                - service
                - type
              type: object
            status:
              properties:
                ErrorMessage:
                  type: string
                GatewayAddress:
                  items:
                    type: string
                  type: array
                Status:
                  enum:
                    - Unspecified
                    - Created
                    - ReconcileFailed
                    - Reconciling
                    - Available
                    - Unmanaged
                  type: string
              type: object
          required:
            - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}