apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: managers.contrail.juniper.net
spec:
  group: contrail.juniper.net
  names:
    kind: Manager
    listKind: ManagerList
    plural: managers
    singular: manager
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Manager is the Schema for the managers API.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: ManagerSpec defines the desired state of Manager.
            properties:
              commonConfiguration:
                description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
                  Important: Run "operator-sdk generate k8s" to regenerate code after
                  modifying this file Add custom validation using kubebuilder tags:
                  https://book.kubebuilder.io/beyond_basics/generating_crd.html'
                properties:
                  hostNetwork:
                    description: Host networking requested for this pod. Use the host's
                      network namespace. If this option is set, the ports that will
                      be used must be specified. Default to false.
                    type: boolean
                  imagePullSecrets:
                    description: ImagePullSecrets is an optional list of references
                      to secrets in the same namespace to use for pulling any of the
                      images used by this PodSpec.
                    items:
                      type: string
                    type: array
                  nodeSelector:
                    additionalProperties:
                      type: string
                    description: 'NodeSelector is a selector which must be true for
                      the pod to fit on a node. Selector which must match a node''s
                      labels for the pod to be scheduled on that node. More info:
                      https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                    type: object
                  tolerations:
                    description: If specified, the pod's tolerations.
                    items:
                      description: The pod this Toleration is attached to tolerates
                        any taint that matches the triple <key,value,effect> using
                        the matching operator <operator>.
                      properties:
                        effect:
                          description: Effect indicates the taint effect to match.
                            Empty means match all taint effects. When specified, allowed
                            values are NoSchedule, PreferNoSchedule and NoExecute.
                          type: string
                        key:
                          description: Key is the taint key that the toleration applies
                            to. Empty means match all taint keys. If the key is empty,
                            operator must be Exists; this combination means to match
                            all values and all keys.
                          type: string
                        operator:
                          description: Operator represents a key's relationship to
                            the value. Valid operators are Exists and Equal. Defaults
                            to Equal. Exists is equivalent to wildcard for value,
                            so that a pod can tolerate all taints of a particular
                            category.
                          type: string
                        tolerationSeconds:
                          description: TolerationSeconds represents the period of
                            time the toleration (which must be of effect NoExecute,
                            otherwise this field is ignored) tolerates the taint.
                            By default, it is not set, which means tolerate the taint
                            forever (do not evict). Zero and negative values will
                            be treated as 0 (evict immediately) by the system.
                          format: int64
                          type: integer
                        value:
                          description: Value is the taint value the toleration matches
                            to. If the operator is Exists, the value should be empty,
                            otherwise just a regular string.
                          type: string
                      type: object
                    type: array
                type: object
              keystoneSecretName:
                type: string
              services:
                description: Services defines the desired state of Services.
                properties:
                  cassandras:
                    items:
                      description: CassandraService defines desired configuration
                        of Cassandra
                      properties:
                        metadata:
                          description: ObjectMeta is wrapper on metav1.ObjectMeta
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: CassandraSpec is the Spec for the cassandras
                            API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                hostAliases:
                                  description: HostAliases is an optional list of
                                    hosts and IPs that will be injected into the pod's
                                    hosts file if specified.
                                  items:
                                    description: HostAlias holds the mapping between
                                      IP and hostnames that will be injected as an
                                      entry in the pod's hosts file.
                                    properties:
                                      hostnames:
                                        description: Hostnames for the above IP address.
                                        items:
                                          type: string
                                        type: array
                                      ip:
                                        description: IP address of the host file entry.
                                        type: string
                                    type: object
                                  type: array
                                hostNetwork:
                                  description: Host networking requested for this
                                    pod. Use the host's network namespace. If this
                                    option is set, the ports that will be used must
                                    be specified. Default to false.
                                  type: boolean
                                imagePullSecrets:
                                  description: ImagePullSecrets is an optional list
                                    of references to secrets in the same namespace
                                    to use for pulling any of the images used by this
                                    PodSpec.
                                  items:
                                    type: string
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: 'NodeSelector is a selector which must
                                    be true for the pod to fit on a node. Selector
                                    which must match a node''s labels for the pod
                                    to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                  type: object
                                replicas:
                                  description: Number of desired pods. This is a pointer
                                    to distinguish between explicit zero and not specified.
                                    Defaults to 1.
                                  format: int32
                                  type: integer
                                tolerations:
                                  description: If specified, the pod's tolerations.
                                  items:
                                    description: The pod this Toleration is attached
                                      to tolerates any taint that matches the triple
                                      <key,value,effect> using the matching operator
                                      <operator>.
                                    properties:
                                      effect:
                                        description: Effect indicates the taint effect
                                          to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule,
                                          PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: Key is the taint key that the
                                          toleration applies to. Empty means match
                                          all taint keys. If the key is empty, operator
                                          must be Exists; this combination means to
                                          match all values and all keys.
                                        type: string
                                      operator:
                                        description: Operator represents a key's relationship
                                          to the value. Valid operators are Exists
                                          and Equal. Defaults to Equal. Exists is
                                          equivalent to wildcard for value, so that
                                          a pod can tolerate all taints of a particular
                                          category.
                                        type: string
                                      tolerationSeconds:
                                        description: TolerationSeconds represents
                                          the period of time the toleration (which
                                          must be of effect NoExecute, otherwise this
                                          field is ignored) tolerates the taint. By
                                          default, it is not set, which means tolerate
                                          the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict
                                          immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: Value is the taint value the
                                          toleration matches to. If the operator is
                                          Exists, the value should be empty, otherwise
                                          just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            serviceConfiguration:
                              description: CassandraConfiguration is the Spec for
                                the cassandras API.
                              properties:
                                clusterName:
                                  type: string
                                containers:
                                  items:
                                    description: Container defines name, image and
                                      command.
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                      image:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                cqlPort:
                                  type: integer
                                jmxLocalPort:
                                  type: integer
                                listenAddress:
                                  type: string
                                maxHeapSize:
                                  type: string
                                minHeapSize:
                                  type: string
                                port:
                                  type: integer
                                sslStoragePort:
                                  type: integer
                                startRPC:
                                  type: boolean
                                storage:
                                  properties:
                                    path:
                                      type: string
                                    size:
                                      pattern: ^([0-9]+)([KMGTPE]i)?$
                                      type: string
                                  type: object
                                storagePort:
                                  type: integer
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  command:
                    description: CommandService defines desired configuration of Command
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: CommandSpec defines the desired state of Command
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: CommandConfiguration is the Spec for the
                              Command configuration
                            properties:
                              clusterName:
                                type: string
                              configInstance:
                                type: string
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              contrailVersion:
                                type: string
                              endpoints:
                                items:
                                  description: CommandEndpoint is used to register
                                    extra endpoints in Command
                                  properties:
                                    name:
                                      type: string
                                    privateURL:
                                      type: string
                                    publicURL:
                                      type: string
                                  type: object
                                type: array
                              keystoneInstance:
                                type: string
                              keystoneSecretName:
                                type: string
                              postgresInstance:
                                type: string
                              swiftInstance:
                                type: string
                              webuiInstance:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  config:
                    description: ConfigService defines desired configuration of Config
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: ConfigSpec is the Spec for the Config API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: ConfigConfiguration is the Spec for the Config
                              API.
                            properties:
                              aaaMode:
                                enum:
                                - noauth
                                - rbac
                                type: string
                              analyticsConfigAuditTTL:
                                description: Time (in hours) the analytics config
                                  data entering the collector stays in the Cassandra
                                  database. Defaults to 2160 hours.
                                type: integer
                              analyticsDataTTL:
                                description: Time (in hours) that the analytics object
                                  and log data stays in the Cassandra database. Defaults
                                  to 48 hours.
                                type: integer
                              analyticsFlowTTL:
                                description: Time to live (TTL) for flow data in hours.
                                  Defaults to 2 hours.
                                type: integer
                              analyticsMonitorIntrospectPort:
                                type: integer
                              analyticsPort:
                                type: integer
                              analyticsStatisticsTTL:
                                description: Time to live (TTL) for statistics data
                                  in hours. Defaults to 4 hours.
                                type: integer
                              apiIntrospectPort:
                                type: integer
                              apiPort:
                                type: integer
                              authMode:
                                enum:
                                - noauth
                                - keystone
                                type: string
                              cassandraInstance:
                                type: string
                              collectorMonitorIntrospectPort:
                                type: integer
                              collectorPort:
                                type: integer
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              deviceManagerIntrospectPort:
                                type: integer
                              fabricMgmtIP:
                                type: string
                              keystoneInstance:
                                type: string
                              keystoneSecretName:
                                type: string
                              logLevel:
                                type: string
                              nodeManager:
                                type: boolean
                              rabbitmqPassword:
                                type: string
                              rabbitmqUser:
                                type: string
                              rabbitmqVhost:
                                type: string
                              redisPort:
                                type: integer
                              schemaIntrospectPort:
                                type: integer
                              storage:
                                properties:
                                  path:
                                    type: string
                                  size:
                                    pattern: ^([0-9]+)([KMGTPE]i)?$
                                    type: string
                                type: object
                              svcMonitorIntrospectPort:
                                type: integer
                              zookeeperInstance:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  contrailCNIs:
                    items:
                      description: ContrailCNIService defines desired configuration
                        of ContrailCNI
                      properties:
                        metadata:
                          description: ObjectMeta is wrapper on metav1.ObjectMeta
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: ContrailCNISpec defines the desired state of
                            ContrailCNI
                          properties:
                            commonConfiguration:
                              description: CNIPodConfiguration is the Common Configuration
                                for ContrailCNI
                              properties:
                                hostNetwork:
                                  description: Host networking requested for this
                                    pod. Use the host's network namespace. If this
                                    option is set, the ports that will be used must
                                    be specified. Default to false.
                                  type: boolean
                                imagePullSecrets:
                                  description: ImagePullSecrets is an optional list
                                    of references to secrets in the same namespace
                                    to use for pulling any of the images used by this
                                    PodSpec.
                                  items:
                                    type: string
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: 'NodeSelector is a selector which must
                                    be true for the pod to fit on a node. Selector
                                    which must match a node''s labels for the pod
                                    to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                  type: object
                                tolerations:
                                  description: If specified, the pod's tolerations.
                                  items:
                                    description: The pod this Toleration is attached
                                      to tolerates any taint that matches the triple
                                      <key,value,effect> using the matching operator
                                      <operator>.
                                    properties:
                                      effect:
                                        description: Effect indicates the taint effect
                                          to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule,
                                          PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: Key is the taint key that the
                                          toleration applies to. Empty means match
                                          all taint keys. If the key is empty, operator
                                          must be Exists; this combination means to
                                          match all values and all keys.
                                        type: string
                                      operator:
                                        description: Operator represents a key's relationship
                                          to the value. Valid operators are Exists
                                          and Equal. Defaults to Equal. Exists is
                                          equivalent to wildcard for value, so that
                                          a pod can tolerate all taints of a particular
                                          category.
                                        type: string
                                      tolerationSeconds:
                                        description: TolerationSeconds represents
                                          the period of time the toleration (which
                                          must be of effect NoExecute, otherwise this
                                          field is ignored) tolerates the taint. By
                                          default, it is not set, which means tolerate
                                          the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict
                                          immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: Value is the taint value the
                                          toleration matches to. If the operator is
                                          Exists, the value should be empty, otherwise
                                          just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            serviceConfiguration:
                              description: ContrailCNIConfiguration is the Service
                                Configuration for ContrailCNI
                              properties:
                                cniMetaPlugin:
                                  type: string
                                containers:
                                  items:
                                    description: Container defines name, image and
                                      command.
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                      image:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                controlInstance:
                                  type: string
                                logLevel:
                                  format: int32
                                  type: integer
                                pollRetries:
                                  format: int32
                                  type: integer
                                pollTimeout:
                                  format: int32
                                  type: integer
                                vrouterIP:
                                  type: string
                                vrouterPort:
                                  format: int32
                                  type: integer
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  contrailmonitor:
                    description: ContrailmonitorService defines desired configuration
                      of ContrailMonitor
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: ContrailmonitorSpec defines the desired state
                          of Contrailmonitor
                        properties:
                          serviceConfiguration:
                            description: 'INSERT ADDITIONAL SPEC FIELDS - desired
                              state of cluster Important: Run "operator-sdk generate
                              k8s" to regenerate code after modifying this file Add
                              custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
                            properties:
                              cassandraInstance:
                                type: string
                              commandInstance:
                                type: string
                              configInstance:
                                type: string
                              controlInstance:
                                type: string
                              keystoneInstance:
                                type: string
                              memcachedInstance:
                                type: string
                              postgresInstance:
                                type: string
                              provisionmanagerInstance:
                                type: string
                              rabbitmqInstance:
                                type: string
                              webuiInstance:
                                type: string
                              zookeeperInstance:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  controls:
                    items:
                      description: ControlService defines desired configuration of
                        Control
                      properties:
                        metadata:
                          description: ObjectMeta is wrapper on metav1.ObjectMeta
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: ControlSpec is the Spec for the controls API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                hostAliases:
                                  description: HostAliases is an optional list of
                                    hosts and IPs that will be injected into the pod's
                                    hosts file if specified.
                                  items:
                                    description: HostAlias holds the mapping between
                                      IP and hostnames that will be injected as an
                                      entry in the pod's hosts file.
                                    properties:
                                      hostnames:
                                        description: Hostnames for the above IP address.
                                        items:
                                          type: string
                                        type: array
                                      ip:
                                        description: IP address of the host file entry.
                                        type: string
                                    type: object
                                  type: array
                                hostNetwork:
                                  description: Host networking requested for this
                                    pod. Use the host's network namespace. If this
                                    option is set, the ports that will be used must
                                    be specified. Default to false.
                                  type: boolean
                                imagePullSecrets:
                                  description: ImagePullSecrets is an optional list
                                    of references to secrets in the same namespace
                                    to use for pulling any of the images used by this
                                    PodSpec.
                                  items:
                                    type: string
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: 'NodeSelector is a selector which must
                                    be true for the pod to fit on a node. Selector
                                    which must match a node''s labels for the pod
                                    to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                  type: object
                                replicas:
                                  description: Number of desired pods. This is a pointer
                                    to distinguish between explicit zero and not specified.
                                    Defaults to 1.
                                  format: int32
                                  type: integer
                                tolerations:
                                  description: If specified, the pod's tolerations.
                                  items:
                                    description: The pod this Toleration is attached
                                      to tolerates any taint that matches the triple
                                      <key,value,effect> using the matching operator
                                      <operator>.
                                    properties:
                                      effect:
                                        description: Effect indicates the taint effect
                                          to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule,
                                          PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: Key is the taint key that the
                                          toleration applies to. Empty means match
                                          all taint keys. If the key is empty, operator
                                          must be Exists; this combination means to
                                          match all values and all keys.
                                        type: string
                                      operator:
                                        description: Operator represents a key's relationship
                                          to the value. Valid operators are Exists
                                          and Equal. Defaults to Equal. Exists is
                                          equivalent to wildcard for value, so that
                                          a pod can tolerate all taints of a particular
                                          category.
                                        type: string
                                      tolerationSeconds:
                                        description: TolerationSeconds represents
                                          the period of time the toleration (which
                                          must be of effect NoExecute, otherwise this
                                          field is ignored) tolerates the taint. By
                                          default, it is not set, which means tolerate
                                          the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict
                                          immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: Value is the taint value the
                                          toleration matches to. If the operator is
                                          Exists, the value should be empty, otherwise
                                          just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            serviceConfiguration:
                              description: ControlConfiguration is the Spec for the
                                controls API.
                              properties:
                                asnNumber:
                                  type: integer
                                bgpPort:
                                  type: integer
                                cassandraInstance:
                                  type: string
                                containers:
                                  items:
                                    description: Container defines name, image and
                                      command.
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                      image:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                dataSubnet:
                                  description: DataSubnet allow to set alternative
                                    network in which control, nodemanager and dns
                                    services will listen. Local pod address from this
                                    subnet will be discovered and used both in configuration
                                    for hostip directive and provision script.
                                  pattern: ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/(3[0-2]|2[0-9]|1[0-9]|[0-9]))$
                                  type: string
                                dnsIntrospectPort:
                                  type: integer
                                dnsPort:
                                  type: integer
                                nodeManager:
                                  type: boolean
                                rabbitmqPassword:
                                  type: string
                                rabbitmqUser:
                                  type: string
                                rabbitmqVhost:
                                  type: string
                                xmppPort:
                                  type: integer
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  keystone:
                    description: KeystoneService defines desired configuration of
                      Keystone
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: KeystoneSpec defines the desired state of Keystone
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: KeystoneConfiguration is the Spec for the
                              keystone API.
                            properties:
                              authProtocol:
                                enum:
                                - http
                                - https
                                type: string
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              externalAddress:
                                description: IP address or domain name (withouth protocol
                                  prefix) of the external keystone. If defined no
                                  keystone releated resource will be created in cluster
                                  and other components will be configured to use this
                                  address as keystone endpoint.
                                type: string
                              externalAddressRetrySec:
                                description: Time in seconds after which retry fetch
                                  token from external keystone. Default is 60 sec.
                                minimum: 1
                                type: integer
                              keystoneSecretName:
                                type: string
                              listenPort:
                                type: integer
                              memcachedInstance:
                                type: string
                              postgresInstance:
                                type: string
                              projectDomainID:
                                type: string
                              projectDomainName:
                                type: string
                              publicEndpoint:
                                type: string
                              region:
                                type: string
                              userDomainID:
                                type: string
                              userDomainName:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  kubemanagers:
                    items:
                      description: KubemanagerService defines desired configuration
                        of Kubemanager
                      properties:
                        metadata:
                          description: ObjectMeta is wrapper on metav1.ObjectMeta
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: KubemanagerServiceSpec defines desired spec
                            configuration of Kubemanager
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                hostAliases:
                                  description: HostAliases is an optional list of
                                    hosts and IPs that will be injected into the pod's
                                    hosts file if specified.
                                  items:
                                    description: HostAlias holds the mapping between
                                      IP and hostnames that will be injected as an
                                      entry in the pod's hosts file.
                                    properties:
                                      hostnames:
                                        description: Hostnames for the above IP address.
                                        items:
                                          type: string
                                        type: array
                                      ip:
                                        description: IP address of the host file entry.
                                        type: string
                                    type: object
                                  type: array
                                hostNetwork:
                                  description: Host networking requested for this
                                    pod. Use the host's network namespace. If this
                                    option is set, the ports that will be used must
                                    be specified. Default to false.
                                  type: boolean
                                imagePullSecrets:
                                  description: ImagePullSecrets is an optional list
                                    of references to secrets in the same namespace
                                    to use for pulling any of the images used by this
                                    PodSpec.
                                  items:
                                    type: string
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: 'NodeSelector is a selector which must
                                    be true for the pod to fit on a node. Selector
                                    which must match a node''s labels for the pod
                                    to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                  type: object
                                replicas:
                                  description: Number of desired pods. This is a pointer
                                    to distinguish between explicit zero and not specified.
                                    Defaults to 1.
                                  format: int32
                                  type: integer
                                tolerations:
                                  description: If specified, the pod's tolerations.
                                  items:
                                    description: The pod this Toleration is attached
                                      to tolerates any taint that matches the triple
                                      <key,value,effect> using the matching operator
                                      <operator>.
                                    properties:
                                      effect:
                                        description: Effect indicates the taint effect
                                          to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule,
                                          PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: Key is the taint key that the
                                          toleration applies to. Empty means match
                                          all taint keys. If the key is empty, operator
                                          must be Exists; this combination means to
                                          match all values and all keys.
                                        type: string
                                      operator:
                                        description: Operator represents a key's relationship
                                          to the value. Valid operators are Exists
                                          and Equal. Defaults to Equal. Exists is
                                          equivalent to wildcard for value, so that
                                          a pod can tolerate all taints of a particular
                                          category.
                                        type: string
                                      tolerationSeconds:
                                        description: TolerationSeconds represents
                                          the period of time the toleration (which
                                          must be of effect NoExecute, otherwise this
                                          field is ignored) tolerates the taint. By
                                          default, it is not set, which means tolerate
                                          the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict
                                          immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: Value is the taint value the
                                          toleration matches to. If the operator is
                                          Exists, the value should be empty, otherwise
                                          just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            serviceConfiguration:
                              description: KubemanagerManagerServiceConfiguration
                                defines service configuration of Kubemanager
                              properties:
                                authMode:
                                  enum:
                                  - noauth
                                  - keystone
                                  type: string
                                cassandraInstance:
                                  type: string
                                cloudOrchestrator:
                                  type: string
                                clusterRole:
                                  type: string
                                clusterRoleBinding:
                                  type: string
                                containers:
                                  items:
                                    description: Container defines name, image and
                                      command.
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                      image:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                envVariablesConfig:
                                  additionalProperties:
                                    type: string
                                  type: object
                                hostNetworkService:
                                  type: boolean
                                ipFabricForwarding:
                                  type: boolean
                                ipFabricSnat:
                                  type: boolean
                                ipFabricSubnets:
                                  type: string
                                keystoneInstance:
                                  type: string
                                kubernetesAPIPort:
                                  type: integer
                                kubernetesAPISSLPort:
                                  type: integer
                                kubernetesAPIServer:
                                  type: string
                                kubernetesClusterName:
                                  type: string
                                kubernetesTokenFile:
                                  type: string
                                podSubnets:
                                  type: string
                                rabbitmqPassword:
                                  type: string
                                rabbitmqUser:
                                  type: string
                                rabbitmqVhost:
                                  type: string
                                serviceAccount:
                                  type: string
                                serviceSubnets:
                                  type: string
                                useKubeadmConfig:
                                  type: boolean
                                zookeeperInstance:
                                  type: string
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  memcached:
                    description: MemcachedService defines desired configuration of
                      Memcached
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: MemcachedSpec defines the desired state of Memcached
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            properties:
                              connectionLimit:
                                format: int32
                                type: integer
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              listenPort:
                                format: int32
                                type: integer
                              maxMemory:
                                format: int32
                                type: integer
                            required:
                            - containers
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  postgres:
                    description: PostgresService defines desired configuration of
                      Postgres
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: PostgresSpec defines the desired state of Postgres
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            properties:
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              listenPort:
                                type: integer
                              replicationPassSecretName:
                                type: string
                              rootPassSecretName:
                                type: string
                              storage:
                                properties:
                                  path:
                                    type: string
                                  size:
                                    pattern: ^([0-9]+)([KMGTPE]i)?$
                                    type: string
                                type: object
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  provisionManager:
                    description: ProvisionManagerService defines desired configuration
                      of ProvisionManager
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: ProvisionManagerServiceSpec defines desired spec
                          configuration of ProvisionManager
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: ProvisionManagerConfiguration defines the
                              provision manager configuration
                            properties:
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              globalVrouterConfiguration:
                                properties:
                                  ecmpHashingIncludeFields:
                                    properties:
                                      destinationIp:
                                        type: boolean
                                      destinationPort:
                                        type: boolean
                                      hashingConfigured:
                                        type: boolean
                                      ipProtocol:
                                        type: boolean
                                      sourceIp:
                                        type: boolean
                                      sourcePort:
                                        type: boolean
                                    type: object
                                  encapPriority:
                                    type: string
                                  linkLocalServices:
                                    description: LinkLocalServicesTypes struct contains
                                      list of link local services definitions
                                    properties:
                                      linkLocalServicesEntries:
                                        items:
                                          description: LinkLocalServiceEntryType struct
                                            defines link local service
                                          properties:
                                            ipFabricDNSServiceName:
                                              type: string
                                            ipFabricServiceIP:
                                              items:
                                                type: string
                                              type: array
                                            ipFabricServicePort:
                                              type: integer
                                            linkLocalServiceIP:
                                              type: string
                                            linkLocalServiceName:
                                              type: string
                                            linkLocalServicePort:
                                              type: integer
                                          type: object
                                        type: array
                                    type: object
                                  vxlanNetworkIdentifierMode:
                                    type: string
                                type: object
                              keystoneInstance:
                                type: string
                              keystoneSecretName:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  rabbitmq:
                    description: RabbitmqService defines desired configuration of
                      Rabbitmq
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: RabbitmqSpec is the Spec for the cassandras API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: RabbitmqConfiguration is the Spec for the
                              cassandras API.
                            properties:
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              erlangCookie:
                                type: string
                              password:
                                type: string
                              port:
                                type: integer
                              secret:
                                type: string
                              sslPort:
                                type: integer
                              user:
                                type: string
                              vhost:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  swift:
                    description: SwiftService defines desired configuration of Swift
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: SwiftSpec defines the desired state of Swift
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: SwiftConfiguration is the Spec for the Swift
                              service.
                            properties:
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              credentialsSecretName:
                                type: string
                              ringsStorage:
                                properties:
                                  path:
                                    type: string
                                  size:
                                    pattern: ^([0-9]+)([KMGTPE]i)?$
                                    type: string
                                type: object
                              swiftProxyConfiguration:
                                description: SwiftProxyConfiguration is the Spec for
                                  the keystone API.
                                properties:
                                  containers:
                                    items:
                                      description: Container defines name, image and
                                        command.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                        image:
                                          type: string
                                        name:
                                          type: string
                                      type: object
                                    type: array
                                  credentialsSecretName:
                                    type: string
                                  keystoneInstance:
                                    type: string
                                  keystoneSecretName:
                                    type: string
                                  listenPort:
                                    type: integer
                                  memcachedInstance:
                                    type: string
                                  ringConfigMapName:
                                    type: string
                                  service:
                                    description: Service is the configuration of the
                                      service that exposes a workload
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      serviceType:
                                        enum:
                                        - ""
                                        - ClusterIP
                                        - NodePort
                                        - LoadBalancer
                                        - ExternalName
                                        type: string
                                    type: object
                                  swiftConfSecretName:
                                    type: string
                                  swiftServiceName:
                                    description: Service name registered in Keystone,
                                      default "swift"
                                    type: string
                                type: object
                              swiftStorageConfiguration:
                                description: SwiftStorageConfiguration is the Spec
                                  for the keystone API.
                                properties:
                                  accountBindPort:
                                    type: integer
                                  containerBindPort:
                                    type: integer
                                  containers:
                                    items:
                                      description: Container defines name, image and
                                        command.
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                        image:
                                          type: string
                                        name:
                                          type: string
                                      type: object
                                    type: array
                                  device:
                                    type: string
                                  objectBindPort:
                                    type: integer
                                  ringConfigMapName:
                                    type: string
                                  storage:
                                    properties:
                                      path:
                                        type: string
                                      size:
                                        pattern: ^([0-9]+)([KMGTPE]i)?$
                                        type: string
                                    type: object
                                  swiftConfSecretName:
                                    type: string
                                type: object
                            required:
                            - swiftProxyConfiguration
                            - swiftStorageConfiguration
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  vrouters:
                    items:
                      description: VrouterService defines desired configuration of
                        vRouter
                      properties:
                        metadata:
                          description: ObjectMeta is wrapper on metav1.ObjectMeta
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: VrouterServiceSpec defines desired spec configuration
                            of vRouter
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                hostAliases:
                                  description: HostAliases is an optional list of
                                    hosts and IPs that will be injected into the pod's
                                    hosts file if specified.
                                  items:
                                    description: HostAlias holds the mapping between
                                      IP and hostnames that will be injected as an
                                      entry in the pod's hosts file.
                                    properties:
                                      hostnames:
                                        description: Hostnames for the above IP address.
                                        items:
                                          type: string
                                        type: array
                                      ip:
                                        description: IP address of the host file entry.
                                        type: string
                                    type: object
                                  type: array
                                hostNetwork:
                                  description: Host networking requested for this
                                    pod. Use the host's network namespace. If this
                                    option is set, the ports that will be used must
                                    be specified. Default to false.
                                  type: boolean
                                imagePullSecrets:
                                  description: ImagePullSecrets is an optional list
                                    of references to secrets in the same namespace
                                    to use for pulling any of the images used by this
                                    PodSpec.
                                  items:
                                    type: string
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: 'NodeSelector is a selector which must
                                    be true for the pod to fit on a node. Selector
                                    which must match a node''s labels for the pod
                                    to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                  type: object
                                replicas:
                                  description: Number of desired pods. This is a pointer
                                    to distinguish between explicit zero and not specified.
                                    Defaults to 1.
                                  format: int32
                                  type: integer
                                tolerations:
                                  description: If specified, the pod's tolerations.
                                  items:
                                    description: The pod this Toleration is attached
                                      to tolerates any taint that matches the triple
                                      <key,value,effect> using the matching operator
                                      <operator>.
                                    properties:
                                      effect:
                                        description: Effect indicates the taint effect
                                          to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule,
                                          PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: Key is the taint key that the
                                          toleration applies to. Empty means match
                                          all taint keys. If the key is empty, operator
                                          must be Exists; this combination means to
                                          match all values and all keys.
                                        type: string
                                      operator:
                                        description: Operator represents a key's relationship
                                          to the value. Valid operators are Exists
                                          and Equal. Defaults to Equal. Exists is
                                          equivalent to wildcard for value, so that
                                          a pod can tolerate all taints of a particular
                                          category.
                                        type: string
                                      tolerationSeconds:
                                        description: TolerationSeconds represents
                                          the period of time the toleration (which
                                          must be of effect NoExecute, otherwise this
                                          field is ignored) tolerates the taint. By
                                          default, it is not set, which means tolerate
                                          the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict
                                          immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: Value is the taint value the
                                          toleration matches to. If the operator is
                                          Exists, the value should be empty, otherwise
                                          just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            serviceConfiguration:
                              description: VrouterManagerServiceConfiguration defines
                                service confgiuration for vRouter
                              properties:
                                clusterRole:
                                  type: string
                                clusterRoleBinding:
                                  type: string
                                containers:
                                  items:
                                    description: Container defines name, image and
                                      command.
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                      image:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                contrailStatusImage:
                                  type: string
                                controlInstance:
                                  type: string
                                distribution:
                                  type: string
                                envVariablesConfig:
                                  additionalProperties:
                                    type: string
                                  type: object
                                gateway:
                                  type: string
                                metaDataSecret:
                                  type: string
                                nodeManager:
                                  type: boolean
                                physicalInterface:
                                  type: string
                                serviceAccount:
                                  type: string
                                vrouterEncryption:
                                  type: boolean
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  webui:
                    description: WebuiService defines desired configuration of Webui
                    properties:
                      metadata:
                        description: ObjectMeta is wrapper on metav1.ObjectMeta
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      spec:
                        description: WebuiSpec is the Spec for the cassandras API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              hostAliases:
                                description: HostAliases is an optional list of hosts
                                  and IPs that will be injected into the pod's hosts
                                  file if specified.
                                items:
                                  description: HostAlias holds the mapping between
                                    IP and hostnames that will be injected as an entry
                                    in the pod's hosts file.
                                  properties:
                                    hostnames:
                                      description: Hostnames for the above IP address.
                                      items:
                                        type: string
                                      type: array
                                    ip:
                                      description: IP address of the host file entry.
                                      type: string
                                  type: object
                                type: array
                              hostNetwork:
                                description: Host networking requested for this pod.
                                  Use the host's network namespace. If this option
                                  is set, the ports that will be used must be specified.
                                  Default to false.
                                type: boolean
                              imagePullSecrets:
                                description: ImagePullSecrets is an optional list
                                  of references to secrets in the same namespace to
                                  use for pulling any of the images used by this PodSpec.
                                items:
                                  type: string
                                type: array
                              nodeSelector:
                                additionalProperties:
                                  type: string
                                description: 'NodeSelector is a selector which must
                                  be true for the pod to fit on a node. Selector which
                                  must match a node''s labels for the pod to be scheduled
                                  on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                type: object
                              replicas:
                                description: Number of desired pods. This is a pointer
                                  to distinguish between explicit zero and not specified.
                                  Defaults to 1.
                                format: int32
                                type: integer
                              tolerations:
                                description: If specified, the pod's tolerations.
                                items:
                                  description: The pod this Toleration is attached
                                    to tolerates any taint that matches the triple
                                    <key,value,effect> using the matching operator
                                    <operator>.
                                  properties:
                                    effect:
                                      description: Effect indicates the taint effect
                                        to match. Empty means match all taint effects.
                                        When specified, allowed values are NoSchedule,
                                        PreferNoSchedule and NoExecute.
                                      type: string
                                    key:
                                      description: Key is the taint key that the toleration
                                        applies to. Empty means match all taint keys.
                                        If the key is empty, operator must be Exists;
                                        this combination means to match all values
                                        and all keys.
                                      type: string
                                    operator:
                                      description: Operator represents a key's relationship
                                        to the value. Valid operators are Exists and
                                        Equal. Defaults to Equal. Exists is equivalent
                                        to wildcard for value, so that a pod can tolerate
                                        all taints of a particular category.
                                      type: string
                                    tolerationSeconds:
                                      description: TolerationSeconds represents the
                                        period of time the toleration (which must
                                        be of effect NoExecute, otherwise this field
                                        is ignored) tolerates the taint. By default,
                                        it is not set, which means tolerate the taint
                                        forever (do not evict). Zero and negative
                                        values will be treated as 0 (evict immediately)
                                        by the system.
                                      format: int64
                                      type: integer
                                    value:
                                      description: Value is the taint value the toleration
                                        matches to. If the operator is Exists, the
                                        value should be empty, otherwise just a regular
                                        string.
                                      type: string
                                  type: object
                                type: array
                            type: object
                          serviceConfiguration:
                            description: WebuiConfiguration is the Spec for the cassandras
                              API.
                            properties:
                              cassandraInstance:
                                type: string
                              clusterRole:
                                type: string
                              clusterRoleBinding:
                                type: string
                              containers:
                                items:
                                  description: Container defines name, image and command.
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                    image:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              keystoneInstance:
                                type: string
                              keystoneSecretName:
                                type: string
                              serviceAccount:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  zookeepers:
                    items:
                      description: ZookeeperService defines desired configuration
                        of Zookeeper
                      properties:
                        metadata:
                          description: ObjectMeta is wrapper on metav1.ObjectMeta
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          description: ZookeeperSpec is the Spec for the zookeepers
                            API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                hostAliases:
                                  description: HostAliases is an optional list of
                                    hosts and IPs that will be injected into the pod's
                                    hosts file if specified.
                                  items:
                                    description: HostAlias holds the mapping between
                                      IP and hostnames that will be injected as an
                                      entry in the pod's hosts file.
                                    properties:
                                      hostnames:
                                        description: Hostnames for the above IP address.
                                        items:
                                          type: string
                                        type: array
                                      ip:
                                        description: IP address of the host file entry.
                                        type: string
                                    type: object
                                  type: array
                                hostNetwork:
                                  description: Host networking requested for this
                                    pod. Use the host's network namespace. If this
                                    option is set, the ports that will be used must
                                    be specified. Default to false.
                                  type: boolean
                                imagePullSecrets:
                                  description: ImagePullSecrets is an optional list
                                    of references to secrets in the same namespace
                                    to use for pulling any of the images used by this
                                    PodSpec.
                                  items:
                                    type: string
                                  type: array
                                nodeSelector:
                                  additionalProperties:
                                    type: string
                                  description: 'NodeSelector is a selector which must
                                    be true for the pod to fit on a node. Selector
                                    which must match a node''s labels for the pod
                                    to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/.'
                                  type: object
                                replicas:
                                  description: Number of desired pods. This is a pointer
                                    to distinguish between explicit zero and not specified.
                                    Defaults to 1.
                                  format: int32
                                  type: integer
                                tolerations:
                                  description: If specified, the pod's tolerations.
                                  items:
                                    description: The pod this Toleration is attached
                                      to tolerates any taint that matches the triple
                                      <key,value,effect> using the matching operator
                                      <operator>.
                                    properties:
                                      effect:
                                        description: Effect indicates the taint effect
                                          to match. Empty means match all taint effects.
                                          When specified, allowed values are NoSchedule,
                                          PreferNoSchedule and NoExecute.
                                        type: string
                                      key:
                                        description: Key is the taint key that the
                                          toleration applies to. Empty means match
                                          all taint keys. If the key is empty, operator
                                          must be Exists; this combination means to
                                          match all values and all keys.
                                        type: string
                                      operator:
                                        description: Operator represents a key's relationship
                                          to the value. Valid operators are Exists
                                          and Equal. Defaults to Equal. Exists is
                                          equivalent to wildcard for value, so that
                                          a pod can tolerate all taints of a particular
                                          category.
                                        type: string
                                      tolerationSeconds:
                                        description: TolerationSeconds represents
                                          the period of time the toleration (which
                                          must be of effect NoExecute, otherwise this
                                          field is ignored) tolerates the taint. By
                                          default, it is not set, which means tolerate
                                          the taint forever (do not evict). Zero and
                                          negative values will be treated as 0 (evict
                                          immediately) by the system.
                                        format: int64
                                        type: integer
                                      value:
                                        description: Value is the taint value the
                                          toleration matches to. If the operator is
                                          Exists, the value should be empty, otherwise
                                          just a regular string.
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            serviceConfiguration:
                              description: ZookeeperConfiguration is the Spec for
                                the zookeepers API.
                              properties:
                                adminEnabled:
                                  type: boolean
                                adminPort:
                                  type: integer
                                clientPort:
                                  type: integer
                                containers:
                                  items:
                                    description: Container defines name, image and
                                      command.
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                      image:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                electionPort:
                                  type: integer
                                serverPort:
                                  type: integer
                                storage:
                                  properties:
                                    path:
                                      type: string
                                    size:
                                      pattern: ^([0-9]+)([KMGTPE]i)?$
                                      type: string
                                  type: object
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                type: object
            type: object
          status:
            description: ManagerStatus defines the observed state of Manager.
            properties:
              cassandras:
                items:
                  description: ServiceStatus provides information on the current status
                    of the service.
                  properties:
                    active:
                      type: boolean
                    created:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
              command:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              conditions:
                items:
                  description: ManagerCondition is used to represent cluster condition
                  properties:
                    status:
                      description: Status of the condition, one of True or False.
                      type: string
                    type:
                      description: Type of manager condition.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              config:
                description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
                  of cluster Important: Run "operator-sdk generate k8s" to regenerate
                  code after modifying this file Add custom validation using kubebuilder
                  tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html'
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              contrailCNIs:
                items:
                  description: ServiceStatus provides information on the current status
                    of the service.
                  properties:
                    active:
                      type: boolean
                    created:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
              contrailmonitor:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              controls:
                items:
                  description: ServiceStatus provides information on the current status
                    of the service.
                  properties:
                    active:
                      type: boolean
                    created:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
              crdStatus:
                items:
                  description: CrdStatus tracks status of CRD.
                  properties:
                    active:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
              keystone:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              kubemanagers:
                items:
                  description: ServiceStatus provides information on the current status
                    of the service.
                  properties:
                    active:
                      type: boolean
                    created:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
              memcached:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              postgres:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              provisionManager:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              rabbitmq:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              replicas:
                format: int32
                type: integer
              swift:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              vrouters:
                items:
                  description: ServiceStatus provides information on the current status
                    of the service.
                  properties:
                    active:
                      type: boolean
                    created:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
              webui:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              zookeepers:
                items:
                  description: ServiceStatus provides information on the current status
                    of the service.
                  properties:
                    active:
                      type: boolean
                    created:
                      type: boolean
                    name:
                      type: string
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
