---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.2.8
  name: couchbasegroups.couchbase.com
spec:
  group: couchbase.com
  names:
    kind: CouchbaseGroup
    listKind: CouchbaseGroupList
    plural: couchbasegroups
    singular: couchbasegroup
  scope: Namespaced
  versions:
  - name: v2
    schema:
      openAPIV3Schema:
        description: CouchbaseGroup allows the automation of Couchbase group management.
        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: CouchbaseGroupSpec allows the specification of Couchbase group configuration.
            properties:
              ldapGroupRef:
                description: LDAPGroupRef is a reference to an LDAP group.
                type: string
              roles:
                description: Roles is a list of roles that this group is granted.
                items:
                  properties:
                    bucket:
                      description: Bucket name for bucket admin roles.  When not specified for a role that can be scoped to a specific bucket, the role will apply to all buckets in the cluster.
                      pattern: ^\*$|^[a-zA-Z0-9-_%\.]+$
                      type: string
                    name:
                      description: Name of role.
                      enum:
                      - admin
                      - cluster_admin
                      - security_admin
                      - ro_admin
                      - replication_admin
                      - query_external_access
                      - query_system_catalog
                      - analytics_reader
                      - bucket_admin
                      - views_admin
                      - fts_admin
                      - bucket_full_access
                      - data_reader
                      - data_writer
                      - data_dcp_reader
                      - data_backup
                      - data_monitoring
                      - replication_target
                      - analytics_manager
                      - views_reader
                      - fts_searcher
                      - query_select
                      - query_update
                      - query_insert
                      - query_delete
                      - query_manage_index
                      - mobile_sync_gateway
                      type: string
                  required:
                  - name
                  type: object
                type: array
            required:
            - roles
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
