---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.2.8
  name: couchbasereplications.couchbase.com
spec:
  group: couchbase.com
  names:
    kind: CouchbaseReplication
    listKind: CouchbaseReplicationList
    plural: couchbasereplications
    singular: couchbasereplication
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.bucket
      name: bucket
      type: string
    - jsonPath: .spec.remoteBucket
      name: remote bucket
      type: string
    - jsonPath: .spec.paused
      name: paused
      type: boolean
    - jsonPath: .metadata.creationTimestamp
      name: age
      type: date
    name: v2
    schema:
      openAPIV3Schema:
        description: The CouchbaseReplication resource represents a Couchbase-to-Couchbase, XDCR replication stream from a source bucket to a destination bucket.  This provides off-site backup, migration, and disaster recovery.
        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: CouchbaseReplicationSpec allows configuration of an XDCR replication.
            properties:
              bucket:
                description: Bucket is the source bucket to replicate from.  This refers to the Couchbase bucket name, not the resource name of the bucket.  A bucket with this name must be defined on this cluster.  Legal bucket names have a maximum length of 100 characters and may be composed of any character from "a-z", "A-Z", "0-9" and "-_%\.".
                maxLength: 100
                pattern: ^[a-zA-Z0-9-_%\.]+$
                type: string
              compressionType:
                default: Auto
                description: CompressionType is the type of compression to apply to the replication. When None, no compression will be applied to documents as they are transferred between clusters.  When Auto, Couchbase server will automatically compress documents as they are transferred to reduce bandwidth requirements. This field must be one of "None" or "Auto", defaulting to "Auto".
                enum:
                - None
                - Auto
                type: string
              filterExpression:
                description: FilterExpression allows certain documents to be filtered out of the replication.
                type: string
              paused:
                description: Paused allows a replication to be stopped and restarted without having to restart the replication from the beginning.
                type: boolean
              remoteBucket:
                description: RemoteBucket is the remote bucket name to synchronize to.  This refers to the Couchbase bucket name, not the resource name of the bucket.  Legal bucket names have a maximum length of 100 characters and may be composed of any character from "a-z", "A-Z", "0-9" and "-_%\.".
                maxLength: 100
                pattern: ^[a-zA-Z0-9-_%\.]+$
                type: string
            required:
            - bucket
            - remoteBucket
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
