apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert
    controller-gen.kubebuilder.io/version: (devel)
  name: redisenterprisedatabases.cache.azure.com
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: azureserviceoperator-webhook-service
          namespace: azureserviceoperator-system
          path: /convert
      conversionReviewVersions:
      - v1beta1
  group: cache.azure.com
  names:
    kind: RedisEnterpriseDatabase
    listKind: RedisEnterpriseDatabaseList
    plural: redisenterprisedatabases
    singular: redisenterprisedatabase
  preserveUnknownFields: false
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].severity
      name: Severity
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].message
      name: Message
      type: string
    name: v1alpha1api20210301
    schema:
      openAPIV3Schema:
        description: 'Generated from: https://schema.management.azure.com/schemas/2021-03-01/Microsoft.Cache.Enterprise.json#/resourceDefinitions/redisEnterprise_databases'
        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:
            properties:
              azureName:
                description: 'AzureName: The name of the resource in Azure. This is
                  often the same as the name of the resource in Kubernetes but it
                  doesn''t have to be.'
                type: string
              clientProtocol:
                description: 'ClientProtocol: Specifies whether redis clients can
                  connect using TLS-encrypted or plaintext redis protocols. Default
                  is TLS-encrypted.'
                enum:
                - Encrypted
                - Plaintext
                type: string
              clusteringPolicy:
                description: 'ClusteringPolicy: Clustering policy - default is OSSCluster.
                  Specified at create time.'
                enum:
                - EnterpriseCluster
                - OSSCluster
                type: string
              evictionPolicy:
                description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU.'
                enum:
                - AllKeysLFU
                - AllKeysLRU
                - AllKeysRandom
                - NoEviction
                - VolatileLFU
                - VolatileLRU
                - VolatileRandom
                - VolatileTTL
                type: string
              location:
                description: 'Location: Location to deploy resource to'
                type: string
              modules:
                description: 'Modules: Optional set of redis modules to enable in
                  this database - modules can only be added at creation time.'
                items:
                  description: 'Generated from: https://schema.management.azure.com/schemas/2021-03-01/Microsoft.Cache.Enterprise.json#/definitions/Module'
                  properties:
                    args:
                      description: 'Args: Configuration options for the module, e.g.
                        ''ERROR_RATE 0.00 INITIAL_SIZE 400''.'
                      type: string
                    name:
                      description: 'Name: The name of the module, e.g. ''RedisBloom'',
                        ''RediSearch'', ''RedisTimeSeries'''
                      type: string
                  required:
                  - name
                  type: object
                type: array
              owner:
                description: KnownResourceReference is a resource reference to a known
                  type.
                properties:
                  name:
                    description: This is the name of the Kubernetes resource to reference.
                    type: string
                required:
                - name
                type: object
              persistence:
                description: 'Persistence: Persistence-related configuration for the
                  RedisEnterprise database'
                properties:
                  aofEnabled:
                    description: 'AofEnabled: Sets whether AOF is enabled.'
                    type: boolean
                  aofFrequency:
                    description: 'AofFrequency: Sets the frequency at which data is
                      written to disk.'
                    enum:
                    - 1s
                    - always
                    type: string
                  rdbEnabled:
                    description: 'RdbEnabled: Sets whether RDB is enabled.'
                    type: boolean
                  rdbFrequency:
                    description: 'RdbFrequency: Sets the frequency at which a snapshot
                      of the database is created.'
                    enum:
                    - 12h
                    - 1h
                    - 6h
                    type: string
                type: object
              port:
                description: 'Port: TCP port of the database endpoint. Specified at
                  create time. Defaults to an available port.'
                type: integer
              tags:
                additionalProperties:
                  type: string
                description: 'Tags: Name-value pairs to add to the resource'
                type: object
            required:
            - owner
            type: object
          status:
            properties:
              clientProtocol:
                description: 'ClientProtocol: Specifies whether redis clients can
                  connect using TLS-encrypted or plaintext redis protocols. Default
                  is TLS-encrypted.'
                type: string
              clusteringPolicy:
                description: 'ClusteringPolicy: Clustering policy - default is OSSCluster.
                  Specified at create time.'
                type: string
              conditions:
                description: 'Conditions: The observed state of the resource'
                items:
                  description: Condition defines an extension to status (an observation)
                    of a resource
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human readable message indicating
                        details about the transition. This field may be empty.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the .metadata.generation
                        that the condition was set based upon. For instance, if .metadata.generation
                        is currently 12, but the .status.condition[x].observedGeneration
                        is 9, the condition is out of date with respect to the current
                        state of the instance.
                      format: int64
                      type: integer
                    reason:
                      description: Reason for the condition's last transition. Reasons
                        are upper CamelCase (PascalCase) with no spaces. A reason
                        is always provided, this field will not be empty.
                      type: string
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. For conditions which have positive polarity
                        (Status == True is their normal/healthy state), this will
                        be omitted when Status == True For conditions which have negative
                        polarity (Status == False is their normal/healthy state),
                        this will be omitted when Status == False. This is omitted
                        in all cases when Status == Unknown
                      type: string
                    status:
                      description: Status of the condition, one of True, False, or
                        Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
              evictionPolicy:
                description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU'
                type: string
              id:
                description: 'Id: Fully qualified resource ID for the resource. Ex
                  - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}'
                type: string
              modules:
                description: 'Modules: Optional set of redis modules to enable in
                  this database - modules can only be added at creation time.'
                items:
                  properties:
                    args:
                      description: 'Args: Configuration options for the module, e.g.
                        ''ERROR_RATE 0.00 INITIAL_SIZE 400''.'
                      type: string
                    name:
                      description: 'Name: The name of the module, e.g. ''RedisBloom'',
                        ''RediSearch'', ''RedisTimeSeries'''
                      type: string
                    version:
                      description: 'Version: The version of the module, e.g. ''1.0''.'
                      type: string
                  required:
                  - name
                  type: object
                type: array
              name:
                description: 'Name: The name of the resource'
                type: string
              persistence:
                description: 'Persistence: Persistence settings'
                properties:
                  aofEnabled:
                    description: 'AofEnabled: Sets whether AOF is enabled.'
                    type: boolean
                  aofFrequency:
                    description: 'AofFrequency: Sets the frequency at which data is
                      written to disk.'
                    type: string
                  rdbEnabled:
                    description: 'RdbEnabled: Sets whether RDB is enabled.'
                    type: boolean
                  rdbFrequency:
                    description: 'RdbFrequency: Sets the frequency at which a snapshot
                      of the database is created.'
                    type: string
                type: object
              port:
                description: 'Port: TCP port of the database endpoint. Specified at
                  create time. Defaults to an available port.'
                type: integer
              provisioningState:
                description: 'ProvisioningState: Current provisioning status of the
                  database'
                type: string
              resourceState:
                description: 'ResourceState: Current resource status of the database'
                type: string
              type:
                description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines"
                  or "Microsoft.Storage/storageAccounts"'
                type: string
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].severity
      name: Severity
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].message
      name: Message
      type: string
    name: v1alpha1api20210301storage
    schema:
      openAPIV3Schema:
        description: 'Storage version of v1alpha1api20210301.RedisEnterpriseDatabase
          Generated from: https://schema.management.azure.com/schemas/2021-03-01/Microsoft.Cache.Enterprise.json#/resourceDefinitions/redisEnterprise_databases'
        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: Storage version of v1alpha1api20210301.RedisEnterpriseDatabases_Spec
            properties:
              $propertyBag:
                additionalProperties:
                  type: string
                description: PropertyBag is an unordered set of stashed information
                  that used for properties not directly supported by storage resources,
                  allowing for full fidelity round trip conversions
                type: object
              azureName:
                description: 'AzureName: The name of the resource in Azure. This is
                  often the same as the name of the resource in Kubernetes but it
                  doesn''t have to be.'
                type: string
              clientProtocol:
                type: string
              clusteringPolicy:
                type: string
              evictionPolicy:
                type: string
              location:
                type: string
              modules:
                items:
                  description: 'Storage version of v1alpha1api20210301.Module Generated
                    from: https://schema.management.azure.com/schemas/2021-03-01/Microsoft.Cache.Enterprise.json#/definitions/Module'
                  properties:
                    $propertyBag:
                      additionalProperties:
                        type: string
                      description: PropertyBag is an unordered set of stashed information
                        that used for properties not directly supported by storage
                        resources, allowing for full fidelity round trip conversions
                      type: object
                    args:
                      type: string
                    name:
                      type: string
                  type: object
                type: array
              originalVersion:
                type: string
              owner:
                description: KnownResourceReference is a resource reference to a known
                  type.
                properties:
                  name:
                    description: This is the name of the Kubernetes resource to reference.
                    type: string
                required:
                - name
                type: object
              persistence:
                description: 'Storage version of v1alpha1api20210301.Persistence Generated
                  from: https://schema.management.azure.com/schemas/2021-03-01/Microsoft.Cache.Enterprise.json#/definitions/Persistence'
                properties:
                  $propertyBag:
                    additionalProperties:
                      type: string
                    description: PropertyBag is an unordered set of stashed information
                      that used for properties not directly supported by storage resources,
                      allowing for full fidelity round trip conversions
                    type: object
                  aofEnabled:
                    type: boolean
                  aofFrequency:
                    type: string
                  rdbEnabled:
                    type: boolean
                  rdbFrequency:
                    type: string
                type: object
              port:
                type: integer
              tags:
                additionalProperties:
                  type: string
                type: object
            required:
            - owner
            type: object
          status:
            description: Storage version of v1alpha1api20210301.Database_Status
            properties:
              $propertyBag:
                additionalProperties:
                  type: string
                description: PropertyBag is an unordered set of stashed information
                  that used for properties not directly supported by storage resources,
                  allowing for full fidelity round trip conversions
                type: object
              clientProtocol:
                type: string
              clusteringPolicy:
                type: string
              conditions:
                items:
                  description: Condition defines an extension to status (an observation)
                    of a resource
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: Message is a human readable message indicating
                        details about the transition. This field may be empty.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the .metadata.generation
                        that the condition was set based upon. For instance, if .metadata.generation
                        is currently 12, but the .status.condition[x].observedGeneration
                        is 9, the condition is out of date with respect to the current
                        state of the instance.
                      format: int64
                      type: integer
                    reason:
                      description: Reason for the condition's last transition. Reasons
                        are upper CamelCase (PascalCase) with no spaces. A reason
                        is always provided, this field will not be empty.
                      type: string
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. For conditions which have positive polarity
                        (Status == True is their normal/healthy state), this will
                        be omitted when Status == True For conditions which have negative
                        polarity (Status == False is their normal/healthy state),
                        this will be omitted when Status == False. This is omitted
                        in all cases when Status == Unknown
                      type: string
                    status:
                      description: Status of the condition, one of True, False, or
                        Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
              evictionPolicy:
                type: string
              id:
                type: string
              modules:
                items:
                  description: Storage version of v1alpha1api20210301.Module_Status
                  properties:
                    $propertyBag:
                      additionalProperties:
                        type: string
                      description: PropertyBag is an unordered set of stashed information
                        that used for properties not directly supported by storage
                        resources, allowing for full fidelity round trip conversions
                      type: object
                    args:
                      type: string
                    name:
                      type: string
                    version:
                      type: string
                  type: object
                type: array
              name:
                type: string
              persistence:
                description: Storage version of v1alpha1api20210301.Persistence_Status
                properties:
                  $propertyBag:
                    additionalProperties:
                      type: string
                    description: PropertyBag is an unordered set of stashed information
                      that used for properties not directly supported by storage resources,
                      allowing for full fidelity round trip conversions
                    type: object
                  aofEnabled:
                    type: boolean
                  aofFrequency:
                    type: string
                  rdbEnabled:
                    type: boolean
                  rdbFrequency:
                    type: string
                type: object
              port:
                type: integer
              provisioningState:
                type: string
              resourceState:
                type: string
              type:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
