apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: managers.tf.tungsten.io
spec:
  group: tf.tungsten.io
  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:
                  authParameters:
                    description: AuthParameters auth parameters
                    properties:
                      authMode:
                        description: AuthenticationMode auth mode
                        enum:
                        - noauth
                        - keystone
                        type: string
                      keystoneAuthParameters:
                        description: KeystoneAuthParameters keystone parameters
                        properties:
                          address:
                            type: string
                          adminPassword:
                            type: string
                          adminPort:
                            type: integer
                          adminTenant:
                            type: string
                          adminUsername:
                            type: string
                          authProtocol:
                            type: string
                          insecure:
                            type: boolean
                          port:
                            type: integer
                          projectDomainName:
                            type: string
                          region:
                            type: string
                          userDomainName:
                            type: string
                        type: object
                      keystoneSecretName:
                        type: string
                    type: object
                  distribution:
                    description: OS family
                    type: string
                  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
                  logLevel:
                    description: Kubernetes Cluster Configuration
                    enum:
                    - info
                    - debug
                    - warning
                    - error
                    - critical
                    - none
                    type: string
                  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
              services:
                description: Services defines the desired state of Services.
                properties:
                  analytics:
                    description: AnalyticsInput is the Schema for the analytics API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: AnalyticsSpec is the Spec for the Analytics API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: AnalyticsConfiguration is the Spec for the
                              Analytics API.
                            properties:
                              aaaMode:
                                description: AAAMode aaa mode
                                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
                              analyticsIntrospectPort:
                                type: integer
                              analyticsPort:
                                type: integer
                              analyticsStatisticsTTL:
                                description: Time to live (TTL) for statistics data
                                  in hours. Defaults to 4 hours.
                                type: integer
                              collectorIntrospectPort:
                                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
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  analyticsAlarm:
                    description: AnalyticsAlarmInput is the Schema for the analytics
                      API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: AnalyticsAlarmSpec is the Spec for the Analytics
                          Alarm API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: AnalyticsAlarmConfiguration is the Spec for
                              the Analytics Alarm API.
                            properties:
                              alarmgenIntrospectListenPort:
                                type: integer
                              alarmgenLogFileName:
                                type: string
                              alarmgenPartitions:
                                type: integer
                              alarmgenRedisAggregateDbOffset:
                                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
                              logFilePath:
                                type: string
                              logLocal:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  analyticsSnmp:
                    description: AnalyticsSnmpInput is the Schema for the analytics
                      API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: AnalyticsSnmpSpec is the Spec for the Analytics
                          SNMP API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: AnalyticsSnmpConfiguration is the Spec for
                              the Analytics SNMP 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
                              logFilePath:
                                type: string
                              logLocal:
                                type: string
                              snmpCollectorFastScanFrequency:
                                type: integer
                              snmpCollectorIntrospectListenPort:
                                type: integer
                              snmpCollectorLogFileName:
                                type: string
                              snmpCollectorScanFrequency:
                                type: integer
                              topologyIntrospectListenPort:
                                type: integer
                              topologyLogFileName:
                                type: string
                              topologySnmpFrequency:
                                type: integer
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  cassandras:
                    items:
                      description: CassandraInput is the Schema for the analytics
                        API.
                      properties:
                        metadata:
                          description: Input data is the Schema for the analytics
                            API.
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                          type: object
                        spec:
                          description: CassandraSpec is the Spec for the cassandras
                            API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                authParameters:
                                  description: AuthParameters auth parameters
                                  properties:
                                    authMode:
                                      description: AuthenticationMode auth mode
                                      enum:
                                      - noauth
                                      - keystone
                                      type: string
                                    keystoneAuthParameters:
                                      description: KeystoneAuthParameters keystone
                                        parameters
                                      properties:
                                        address:
                                          type: string
                                        adminPassword:
                                          type: string
                                        adminPort:
                                          type: integer
                                        adminTenant:
                                          type: string
                                        adminUsername:
                                          type: string
                                        authProtocol:
                                          type: string
                                        insecure:
                                          type: boolean
                                        port:
                                          type: integer
                                        projectDomainName:
                                          type: string
                                        region:
                                          type: string
                                        userDomainName:
                                          type: string
                                      type: object
                                    keystoneSecretName:
                                      type: string
                                  type: object
                                distribution:
                                  description: OS family
                                  type: string
                                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
                                logLevel:
                                  description: Kubernetes Cluster Configuration
                                  enum:
                                  - info
                                  - debug
                                  - warning
                                  - error
                                  - critical
                                  - none
                                  type: string
                                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: CassandraConfiguration is the Spec for
                                the cassandras API.
                              properties:
                                cassandraParameters:
                                  description: CassandraConfigParameters defines additional
                                    parameters for Cassandra confgiuration
                                  properties:
                                    compactionThroughputMbPerSec:
                                      type: integer
                                    concurrentCompactors:
                                      type: integer
                                    concurrentCounterWrites:
                                      type: integer
                                    concurrentMaterializedViewWrites:
                                      type: integer
                                    concurrentReads:
                                      type: integer
                                    concurrentWrites:
                                      type: integer
                                    memtableAllocationType:
                                      enum:
                                      - heap_buffers
                                      - offheap_buffers
                                      - offheap_objects
                                      type: string
                                    memtableFlushWriters:
                                      type: integer
                                  type: object
                                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
                                minimumDiskGB:
                                  type: integer
                                port:
                                  type: integer
                                sslStoragePort:
                                  type: integer
                                startRPC:
                                  type: boolean
                                storagePort:
                                  type: integer
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  config:
                    description: ConfigInput is the Schema for the analytics API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: ConfigSpec is the Spec for the Config API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: ConfigConfiguration is the Spec for the Config
                              API.
                            properties:
                              aaaMode:
                                description: AAAMode aaa mode
                                enum:
                                - noauth
                                - rbac
                                type: string
                              apiAdminPort:
                                type: integer
                              apiIntrospectPort:
                                type: integer
                              apiPort:
                                type: integer
                              apiWorkerCount:
                                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
                              linklocalServiceConfig:
                                description: LinklocalServiceConfig is the Spec for
                                  link local coniguration
                                properties:
                                  ip:
                                    type: string
                                  ipFabricServiceHost:
                                    type: string
                                  ipFabricServicePort:
                                    type: integer
                                  name:
                                    type: string
                                  port:
                                    type: integer
                                type: object
                              schemaIntrospectPort:
                                type: integer
                              svcMonitorIntrospectPort:
                                type: integer
                              useExternalTFTP:
                                type: boolean
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  controls:
                    items:
                      description: ControlInput is the Schema for the analytics API.
                      properties:
                        metadata:
                          description: Input data is the Schema for the analytics
                            API.
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                          type: object
                        spec:
                          description: ControlSpec is the Spec for the controls API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                authParameters:
                                  description: AuthParameters auth parameters
                                  properties:
                                    authMode:
                                      description: AuthenticationMode auth mode
                                      enum:
                                      - noauth
                                      - keystone
                                      type: string
                                    keystoneAuthParameters:
                                      description: KeystoneAuthParameters keystone
                                        parameters
                                      properties:
                                        address:
                                          type: string
                                        adminPassword:
                                          type: string
                                        adminPort:
                                          type: integer
                                        adminTenant:
                                          type: string
                                        adminUsername:
                                          type: string
                                        authProtocol:
                                          type: string
                                        insecure:
                                          type: boolean
                                        port:
                                          type: integer
                                        projectDomainName:
                                          type: string
                                        region:
                                          type: string
                                        userDomainName:
                                          type: string
                                      type: object
                                    keystoneSecretName:
                                      type: string
                                  type: object
                                distribution:
                                  description: OS family
                                  type: string
                                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
                                logLevel:
                                  description: Kubernetes Cluster Configuration
                                  enum:
                                  - info
                                  - debug
                                  - warning
                                  - error
                                  - critical
                                  - none
                                  type: string
                                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: ControlConfiguration is the Spec for the
                                controls API.
                              properties:
                                asnNumber:
                                  type: integer
                                bgpPort:
                                  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
                                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
                                subcluster:
                                  type: string
                                xmppPort:
                                  type: integer
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  kubemanager:
                    description: KubemanagerInput is the Schema for the analytics
                      API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: KubemanagerSpec is the Spec for the kubemanager
                          API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: KubemanagerConfiguration is the configuration
                              for the kubemanager API.
                            properties:
                              cloudOrchestrator:
                                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
                              hostNetworkService:
                                type: boolean
                              ipFabricForwarding:
                                type: boolean
                              ipFabricSnat:
                                type: boolean
                              ipFabricSubnets:
                                type: string
                              kubernetesAPIPort:
                                type: integer
                              kubernetesAPISSLPort:
                                type: integer
                              kubernetesAPIServer:
                                type: string
                              kubernetesTokenFile:
                                type: string
                              podSubnet:
                                type: string
                              publicFIPPool:
                                type: string
                              serviceSubnet:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  queryengine:
                    description: QueryEngineInput is the Schema for the analytics
                      API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: QueryEngineSpec is the Spec for the AnalyticsDB
                          query engine.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: QueryEngineConfiguration is the Spec for
                              the AnalyticsDB query engine.
                            properties:
                              analyticsdbIntrospectPort:
                                type: integer
                              analyticsdbPort:
                                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
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  rabbitmq:
                    description: RabbitmqInput is the Schema for the analytics API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: RabbitmqSpec is the Spec for the cassandras API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: RabbitmqConfiguration is the Spec for the
                              cassandras API.
                            properties:
                              clusterPartitionHandling:
                                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
                              erlEpmdPort:
                                type: integer
                              erlangCookie:
                                type: string
                              mirroredQueueMode:
                                enum:
                                - exactly
                                - all
                                - nodes
                                type: string
                              password:
                                type: string
                              port:
                                type: integer
                              secret:
                                type: string
                              tcpListenOptions:
                                description: TCPListenOptionsConfig is configuration
                                  for RabbitMQ TCP listen
                                properties:
                                  backlog:
                                    type: integer
                                  exitOnClose:
                                    type: boolean
                                  lingerOn:
                                    type: boolean
                                  lingerTimeout:
                                    type: integer
                                  nodelay:
                                    type: boolean
                                type: object
                              user:
                                type: string
                              vhost:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  redis:
                    items:
                      description: RedisInput is the Schema for the analytics API.
                      properties:
                        metadata:
                          description: Input data is the Schema for the analytics
                            API.
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                          type: object
                        spec:
                          description: RedisSpec is the Spec for the redis API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                authParameters:
                                  description: AuthParameters auth parameters
                                  properties:
                                    authMode:
                                      description: AuthenticationMode auth mode
                                      enum:
                                      - noauth
                                      - keystone
                                      type: string
                                    keystoneAuthParameters:
                                      description: KeystoneAuthParameters keystone
                                        parameters
                                      properties:
                                        address:
                                          type: string
                                        adminPassword:
                                          type: string
                                        adminPort:
                                          type: integer
                                        adminTenant:
                                          type: string
                                        adminUsername:
                                          type: string
                                        authProtocol:
                                          type: string
                                        insecure:
                                          type: boolean
                                        port:
                                          type: integer
                                        projectDomainName:
                                          type: string
                                        region:
                                          type: string
                                        userDomainName:
                                          type: string
                                      type: object
                                    keystoneSecretName:
                                      type: string
                                  type: object
                                distribution:
                                  description: OS family
                                  type: string
                                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
                                logLevel:
                                  description: Kubernetes Cluster Configuration
                                  enum:
                                  - info
                                  - debug
                                  - warning
                                  - error
                                  - critical
                                  - none
                                  type: string
                                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: RedisConfiguration is the Spec for the
                                redis 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
                                redisPort:
                                  type: integer
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  vrouters:
                    items:
                      description: VrouterInput is the Schema for the analytics API.
                      properties:
                        metadata:
                          description: Input data is the Schema for the analytics
                            API.
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                          type: object
                        spec:
                          description: VrouterSpec is the Spec for the vrouter API.
                          properties:
                            commonConfiguration:
                              description: PodConfiguration is the common services
                                struct.
                              properties:
                                authParameters:
                                  description: AuthParameters auth parameters
                                  properties:
                                    authMode:
                                      description: AuthenticationMode auth mode
                                      enum:
                                      - noauth
                                      - keystone
                                      type: string
                                    keystoneAuthParameters:
                                      description: KeystoneAuthParameters keystone
                                        parameters
                                      properties:
                                        address:
                                          type: string
                                        adminPassword:
                                          type: string
                                        adminPort:
                                          type: integer
                                        adminTenant:
                                          type: string
                                        adminUsername:
                                          type: string
                                        authProtocol:
                                          type: string
                                        insecure:
                                          type: boolean
                                        port:
                                          type: integer
                                        projectDomainName:
                                          type: string
                                        region:
                                          type: string
                                        userDomainName:
                                          type: string
                                      type: object
                                    keystoneSecretName:
                                      type: string
                                  type: object
                                distribution:
                                  description: OS family
                                  type: string
                                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
                                logLevel:
                                  description: Kubernetes Cluster Configuration
                                  enum:
                                  - info
                                  - debug
                                  - warning
                                  - error
                                  - critical
                                  - none
                                  type: string
                                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: VrouterConfiguration is the Spec for the
                                vrouter API.
                              properties:
                                agentMode:
                                  description: vRouter
                                  type: string
                                barbicanPassword:
                                  type: string
                                barbicanTenantName:
                                  description: Openstack
                                  type: string
                                barbicanUser:
                                  type: string
                                cloudOrchestrator:
                                  description: New params for vrouter configuration
                                  type: string
                                cniMTU:
                                  description: CniMTU - mtu for virtual tap devices
                                  type: integer
                                collectorPort:
                                  type: string
                                configApiPort:
                                  description: Config
                                  type: string
                                configApiServerCaCertfile:
                                  type: string
                                configApiSslEnable:
                                  type: boolean
                                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
                                dataSubnet:
                                  type: string
                                dnsServerPort:
                                  description: DNS
                                  type: string
                                dpdkUioDriver:
                                  description: Host
                                  type: string
                                envVariablesConfig:
                                  additionalProperties:
                                    type: string
                                  description: What is it doing? VrouterEncryption   bool              `json:"vrouterEncryption,omitempty"`
                                    What is it doing? What is it doing?
                                  type: object
                                fabricSntHashTableSize:
                                  type: string
                                hugePages1G:
                                  type: integer
                                hugePages2M:
                                  description: HugePages
                                  type: integer
                                hypervisorType:
                                  type: string
                                introspectSslEnable:
                                  description: Introspect
                                  type: boolean
                                k8sToken:
                                  description: Kubernetes
                                  type: string
                                k8sTokenFile:
                                  type: string
                                keystoneAuthAdminPassword:
                                  type: string
                                keystoneAuthAdminPort:
                                  description: Keystone authentication
                                  type: string
                                keystoneAuthCaCertfile:
                                  type: string
                                keystoneAuthCertfile:
                                  type: string
                                keystoneAuthHost:
                                  type: string
                                keystoneAuthInsecure:
                                  type: boolean
                                keystoneAuthKeyfile:
                                  type: string
                                keystoneAuthProjectDomainName:
                                  type: string
                                keystoneAuthProto:
                                  type: string
                                keystoneAuthRegionName:
                                  type: string
                                keystoneAuthUrlTokens:
                                  type: string
                                keystoneAuthUrlVersion:
                                  type: string
                                keystoneAuthUserDomainName:
                                  type: string
                                kubernetesApiPort:
                                  type: string
                                kubernetesApiSecurePort:
                                  type: string
                                kubernetesPodSubnet:
                                  type: string
                                l3mhCidr:
                                  description: L3MH
                                  type: string
                                logDir:
                                  description: Logging
                                  type: string
                                logLocal:
                                  type: integer
                                metadataProxySecret:
                                  description: Metadata
                                  type: string
                                metadataSslCaCertfile:
                                  type: string
                                metadataSslCertType:
                                  type: string
                                metadataSslCertfile:
                                  type: string
                                metadataSslEnable:
                                  type: string
                                metadataSslKeyfile:
                                  type: string
                                physicalInterface:
                                  type: string
                                priorityBandwidth:
                                  type: string
                                priorityId:
                                  type: string
                                priorityScheduling:
                                  type: string
                                priorityTagging:
                                  type: boolean
                                qosDefHwQueue:
                                  type: boolean
                                qosLogicalQueues:
                                  type: string
                                qosQueueId:
                                  type: string
                                requiredKernelVrouterEncryption:
                                  type: string
                                sampleDestination:
                                  type: string
                                sandeshCaCertfile:
                                  description: Sandesh
                                  type: string
                                sandeshCertfile:
                                  type: string
                                sandeshKeyfile:
                                  type: string
                                sandeshSslEnable:
                                  type: boolean
                                serverCaCertfile:
                                  description: Server SSL
                                  type: string
                                serverCertfile:
                                  type: string
                                serverKeyfile:
                                  type: string
                                sloDestination:
                                  type: string
                                sriovPhysicalInterface:
                                  type: string
                                sriovPhysicalNetwork:
                                  type: string
                                sriovVf:
                                  type: string
                                sslEnable:
                                  type: boolean
                                sslInsecure:
                                  type: boolean
                                statsCollectorDestinationPath:
                                  description: Collector
                                  type: string
                                subcluster:
                                  description: XMPP
                                  type: string
                                tsnAgentMode:
                                  description: TSN
                                  type: string
                                vrouterCryptInterface:
                                  type: string
                                vrouterDecryptInterface:
                                  type: string
                                vrouterDecryptKey:
                                  type: string
                                vrouterEncryption:
                                  type: boolean
                                vrouterGateway:
                                  type: string
                                xmmpSslEnable:
                                  type: boolean
                                xmppServerCaCertfile:
                                  type: string
                                xmppServerCertfile:
                                  type: string
                                xmppServerKeyfile:
                                  type: string
                                xmppServerPort:
                                  type: string
                              type: object
                          required:
                          - serviceConfiguration
                          type: object
                      type: object
                    type: array
                  webui:
                    description: WebuiInput is the Schema for the analytics API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: WebuiSpec is the Spec for the cassandras API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: WebuiConfiguration 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
                              controlInstance:
                                type: string
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                  zookeeper:
                    description: ZookeeperInput is the Schema for the analytics API.
                    properties:
                      metadata:
                        description: Input data is the Schema for the analytics API.
                        properties:
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          name:
                            type: string
                        type: object
                      spec:
                        description: ZookeeperSpec is the Spec for the zookeeper API.
                        properties:
                          commonConfiguration:
                            description: PodConfiguration is the common services struct.
                            properties:
                              authParameters:
                                description: AuthParameters auth parameters
                                properties:
                                  authMode:
                                    description: AuthenticationMode auth mode
                                    enum:
                                    - noauth
                                    - keystone
                                    type: string
                                  keystoneAuthParameters:
                                    description: KeystoneAuthParameters keystone parameters
                                    properties:
                                      address:
                                        type: string
                                      adminPassword:
                                        type: string
                                      adminPort:
                                        type: integer
                                      adminTenant:
                                        type: string
                                      adminUsername:
                                        type: string
                                      authProtocol:
                                        type: string
                                      insecure:
                                        type: boolean
                                      port:
                                        type: integer
                                      projectDomainName:
                                        type: string
                                      region:
                                        type: string
                                      userDomainName:
                                        type: string
                                    type: object
                                  keystoneSecretName:
                                    type: string
                                type: object
                              distribution:
                                description: OS family
                                type: string
                              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
                              logLevel:
                                description: Kubernetes Cluster Configuration
                                enum:
                                - info
                                - debug
                                - warning
                                - error
                                - critical
                                - none
                                type: string
                              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: ZookeeperConfiguration is the Spec for the
                              zookeeper 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
                            type: object
                        required:
                        - serviceConfiguration
                        type: object
                    type: object
                type: object
            type: object
          status:
            description: ManagerStatus defines the observed state of Manager.
            properties:
              analytics:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              analyticsAlarm:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              analyticsSnmp:
                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
              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
              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: 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
              kubemanager:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
              queryengine:
                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
              redis:
                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
              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
              ziuState:
                description: ZIU status for orchestrating cluster ZIU process -1 not
                  needed 0 not detected 1..x ziu stages
                format: int32
                type: integer
              zookeeper:
                description: ServiceStatus provides information on the current status
                  of the service.
                properties:
                  active:
                    type: boolean
                  created:
                    type: boolean
                  name:
                    type: string
                type: object
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
