# Source: https://github.com/rabbitmq/messaging-topology-operator/tree/main/config/crd
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: bindings.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Binding
    listKind: BindingList
    plural: bindings
    singular: binding
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Binding is the Schema for the bindings 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: BindingSpec defines the desired state of Binding
              properties:
                arguments:
                  description: Cannot be updated
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                destination:
                  description: Cannot be updated
                  type: string
                destinationType:
                  description: Cannot be updated
                  enum:
                    - exchange
                    - queue
                  type: string
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the binding will
                    be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                routingKey:
                  description: Cannot be updated
                  type: string
                source:
                  description: Cannot be updated
                  type: string
                vhost:
                  default: /
                  description: Default to vhost '/'; cannot be updated
                  type: string
              required:
                - rabbitmqClusterReference
              type: object
            status:
              description: BindingStatus defines the observed state of Binding
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Binding. It corresponds to the Binding's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: exchanges.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Exchange
    listKind: ExchangeList
    plural: exchanges
    singular: exchange
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Exchange is the Schema for the exchanges 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: ExchangeSpec defines the desired state of Exchange
              properties:
                arguments:
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                autoDelete:
                  description: Cannot be updated
                  type: boolean
                durable:
                  description: Cannot be updated
                  type: boolean
                name:
                  description: Required property; cannot be updated
                  type: string
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the exchange will
                    be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                type:
                  default: direct
                  description: Cannot be updated
                  type: string
                vhost:
                  default: /
                  description: Default to vhost '/'; cannot be updated
                  type: string
              required:
                - name
                - rabbitmqClusterReference
              type: object
            status:
              description: ExchangeStatus defines the observed state of Exchange
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Exchange. It corresponds to the Exchange's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: federations.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Federation
    listKind: FederationList
    plural: federations
    singular: federation
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Federation is the Schema for the federations 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: 'FederationSpec defines the desired state of Federation For
                how to configure federation upstreams, see: https://www.rabbitmq.com/federation-reference.html.'
              properties:
                ackMode:
                  enum:
                    - on-confirm
                    - on-publish
                    - no-ack
                  type: string
                exchange:
                  type: string
                expires:
                  type: integer
                maxHops:
                  type: integer
                messageTTL:
                  type: integer
                name:
                  description: Required property; cannot be updated
                  type: string
                prefetch-count:
                  type: integer
                queue:
                  type: string
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that this federation
                    upstream will be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                reconnectDelay:
                  type: integer
                trustUserId:
                  type: boolean
                uriSecret:
                  description: Secret contains the AMQP URI(s) for the upstream. The
                    Secret must contain the key `uri` or operator will error. `uri`
                    should be one or multiple uris separated by ','. Required property.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                vhost:
                  default: /
                  description: Default to vhost '/'; cannot be updated
                  type: string
              required:
                - name
                - rabbitmqClusterReference
                - uriSecret
              type: object
            status:
              description: FederationStatus defines the observed state of Federation
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Federation. It corresponds to the Federation's
                    generation, which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: permissions.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Permission
    listKind: PermissionList
    plural: permissions
    singular: permission
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Permission is the Schema for the permissions 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: PermissionSpec defines the desired state of Permission
              properties:
                permissions:
                  description: 'Permissions to grant to the user in the specific vhost;
                    required property. See RabbitMQ doc for more information: https://www.rabbitmq.com/access-control.html#user-management'
                  properties:
                    configure:
                      type: string
                    read:
                      type: string
                    write:
                      type: string
                  type: object
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that both the provided
                    user and vhost are. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                user:
                  description: Name of an existing user; must provide user or userReference,
                    else create/update will fail; cannot be updated
                  type: string
                userReference:
                  description: Reference to an existing user.rabbitmq.com object; must
                    provide user or userReference, else create/update will fail; cannot
                    be updated
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                vhost:
                  description: Name of an existing vhost; required property; cannot
                    be updated
                  type: string
              required:
                - permissions
                - rabbitmqClusterReference
                - vhost
              type: object
            status:
              description: PermissionStatus defines the observed state of Permission
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Permission. It corresponds to the Permission's
                    generation, which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: policies.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Policy
    listKind: PolicyList
    plural: policies
    singular: policy
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Policy is the Schema for the policies 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: PolicySpec defines the desired state of Policy https://www.rabbitmq.com/parameters.html#policies
              properties:
                applyTo:
                  default: all
                  description: 'What this policy applies to: ''queues'', ''exchanges'',
                    or ''all''. Default to ''all''.'
                  enum:
                    - queues
                    - exchanges
                    - all
                  type: string
                definition:
                  description: Policy definition. Required property.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                name:
                  description: Required property; cannot be updated
                  type: string
                pattern:
                  description: Regular expression pattern used to match queues and exchanges,
                    e.g. "^amq.". Required property.
                  type: string
                priority:
                  default: 0
                  description: Default to '0'. In the event that more than one policy
                    can match a given exchange or queue, the policy with the greatest
                    priority applies.
                  type: integer
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the exchange will
                    be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                vhost:
                  default: /
                  description: Default to vhost '/'; cannot be updated
                  type: string
              required:
                - definition
                - name
                - pattern
                - rabbitmqClusterReference
              type: object
            status:
              description: PolicyStatus defines the observed state of Policy
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Policy. It corresponds to the Policy's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: queues.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Queue
    listKind: QueueList
    plural: queues
    singular: queue
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Queue is the Schema for the queues 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: QueueSpec defines the desired state of Queue
              properties:
                arguments:
                  description: 'Queue arguments in the format of KEY: VALUE. e.g. x-delivery-limit:
                    10000. Configuring queues through arguments is not recommended because
                    they cannot be updated once set; we recommend configuring queues
                    through policies instead.'
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                autoDelete:
                  description: when set to true, queues that have had at least one consumer
                    before are deleted after the last consumer unsubscribes.
                  type: boolean
                durable:
                  description: When set to false queues does not survive server restart.
                  type: boolean
                name:
                  description: Name of the queue; required property.
                  type: string
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the queue will
                    be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                type:
                  type: string
                vhost:
                  default: /
                  description: Default to vhost '/'
                  type: string
              required:
                - name
                - rabbitmqClusterReference
              type: object
            status:
              description: QueueStatus defines the observed state of Queue
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Queue. It corresponds to the Queue's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: schemareplications.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    kind: SchemaReplication
    listKind: SchemaReplicationList
    plural: schemareplications
    singular: schemareplication
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: 'SchemaReplication is the Schema for the schemareplications API
            This feature requires Tanzu RabbitMQ with schema replication plugin. For
            more information, see: https://tanzu.vmware.com/rabbitmq and https://www.rabbitmq.com/definitions-standby.html.'
          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: SchemaReplicationSpec defines the desired state of SchemaReplication
              properties:
                endpoints:
                  description: endpoints should be one or multiple endpoints separated
                    by ','. Must provide either spec.endpoints or endpoints in spec.upstreamSecret.
                    When endpoints are provided in both spec.endpoints and spec.upstreamSecret,
                    spec.endpoints takes precedence.
                  type: string
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that schema replication
                    would be set for. Must be an existing cluster.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                upstreamSecret:
                  description: Defines a Secret which contains credentials to be used
                    for schema replication. The Secret must contain the keys `username`
                    and `password` in its Data field, or operator will error.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
              required:
                - rabbitmqClusterReference
              type: object
            status:
              description: SchemaReplicationStatus defines the observed state of SchemaReplication
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Queue. It corresponds to the Queue's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: shovels.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Shovel
    listKind: ShovelList
    plural: shovels
    singular: shovel
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Shovel is the Schema for the shovels 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: 'ShovelSpec defines the desired state of Shovel For how to
                configure Shovel, see: https://www.rabbitmq.com/shovel.html.'
              properties:
                ackMode:
                  enum:
                    - on-confirm
                    - on-publish
                    - no-ack
                  type: string
                addForwardHeaders:
                  type: boolean
                deleteAfter:
                  type: string
                destAddForwardHeaders:
                  type: boolean
                destAddTimestampHeader:
                  type: boolean
                destAddress:
                  type: string
                destApplicationProperties:
                  type: string
                destExchange:
                  type: string
                destExchangeKey:
                  type: string
                destProperties:
                  type: string
                destProtocol:
                  type: string
                destPublishProperties:
                  type: string
                destQueue:
                  type: string
                name:
                  description: Required property; cannot be updated
                  type: string
                prefetchCount:
                  type: integer
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that this Shovel will
                    be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                reconnectDelay:
                  type: integer
                srcAddress:
                  type: string
                srcDeleteAfter:
                  type: string
                srcExchange:
                  type: string
                srcExchangeKey:
                  type: string
                srcPrefetchCount:
                  type: integer
                srcProtocol:
                  type: string
                srcQueue:
                  type: string
                uriSecret:
                  description: Secret contains the AMQP URI(s) to configure Shovel destination
                    and source. The Secret must contain the key `destUri` and `srcUri`
                    or operator will error. Both fields should be one or multiple uris
                    separated by ','. Required property.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                vhost:
                  default: /
                  description: Default to vhost '/'; cannot be updated
                  type: string
              required:
                - name
                - rabbitmqClusterReference
                - uriSecret
              type: object
            status:
              description: ShovelStatus defines the observed state of Shovel
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Shovel. It corresponds to the Shovel's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: superstreams.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: SuperStream
    listKind: SuperStreamList
    plural: superstreams
    singular: superstream
  scope: Namespaced
  versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          description: SuperStream is the Schema for the queues 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: SuperStreamSpec defines the desired state of SuperStream
              properties:
                name:
                  description: Name of the queue; required property.
                  type: string
                partitions:
                  default: 3
                  description: Number of partitions to create within this super stream.
                    Defaults to '3'.
                  type: integer
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the SuperStream
                    will be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                routingKeys:
                  description: Routing keys to use for each of the partitions in the
                    SuperStream If unset, the routing keys for the partitions will be
                    set to the index of the partitions
                  items:
                    type: string
                  type: array
                vhost:
                  default: /
                  description: Default to vhost '/'; cannot be updated
                  type: string
              required:
                - name
                - rabbitmqClusterReference
              type: object
            status:
              description: SuperStreamStatus defines the observed state of SuperStream
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this SuperStream. It corresponds to the SuperStream's
                    generation, which is updated on mutation by the API Server.
                  format: int64
                  type: integer
                partitions:
                  description: Partitions are a list of the stream queue names which
                    form the partitions of this SuperStream.
                  items:
                    type: string
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: users.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: User
    listKind: UserList
    plural: users
    singular: user
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: User is the Schema for the users 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: Spec configures the desired state of the User object.
              properties:
                importCredentialsSecret:
                  description: Defines a Secret used to pre-define the username and
                    password set for this User. User objects created with this field
                    set will not have randomly-generated credentials, and will instead
                    import the username/password values from this Secret. The Secret
                    must contain the keys `username` and `password` in its Data field,
                    or the import will fail. Note that this import only occurs at creation
                    time, and is ignored once a password has been set on a User.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the user will be
                    created for. This cluster must exist for the User object to be created.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                tags:
                  description: List of permissions tags to associate with the user.
                    This determines the level of access to the RabbitMQ management UI
                    granted to the user. Omitting this field will lead to a user than
                    can still connect to the cluster through messaging protocols, but
                    cannot perform any management actions. For more information, see
                    https://www.rabbitmq.com/management.html#permissions.
                  items:
                    description: UserTag defines the level of access to the management
                      UI allocated to the user. For more information, see https://www.rabbitmq.com/management.html#permissions.
                    enum:
                      - management
                      - policymaker
                      - monitoring
                      - administrator
                    type: string
                  type: array
              required:
                - rabbitmqClusterReference
              type: object
            status:
              description: Status exposes the observed state of the User object.
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                credentials:
                  description: Provides a reference to a Secret object containing the
                    user credentials.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this User. It corresponds to the User's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
                username:
                  description: Provide rabbitmq Username
                  type: string
              required:
                - username
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: vhosts.rabbitmq.com
spec:
  group: rabbitmq.com
  names:
    categories:
      - all
      - rabbitmq
    kind: Vhost
    listKind: VhostList
    plural: vhosts
    singular: vhost
  scope: Namespaced
  versions:
    - name: v1beta1
      schema:
        openAPIV3Schema:
          description: Vhost is the Schema for the vhosts 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: VhostSpec defines the desired state of Vhost
              properties:
                name:
                  description: Name of the vhost; see https://www.rabbitmq.com/vhosts.html.
                  type: string
                rabbitmqClusterReference:
                  description: Reference to the RabbitmqCluster that the vhost will
                    be created in. Required property.
                  properties:
                    connectionSecret:
                      description: Secret contains the http management uri for the RabbitMQ
                        cluster. The Secret must contain the key `uri`, `username` and
                        `password` or operator will error. Have to set either name or
                        connectionSecret, but not both.
                      properties:
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                      type: object
                    name:
                      description: The name of the RabbitMQ cluster to reference. Have
                        to set either name or connectionSecret, but not both.
                      type: string
                    namespace:
                      description: The namespace of the RabbitMQ cluster to reference.
                        Defaults to the namespace of the requested resource if omitted.
                      type: string
                  type: object
                tags:
                  items:
                    type: string
                  type: array
                tracing:
                  type: boolean
              required:
                - name
                - rabbitmqClusterReference
              type: object
            status:
              description: VhostStatus defines the observed state of Vhost
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: The last time this Condition status changed.
                        format: date-time
                        type: string
                      message:
                        description: Full text reason for current status of the condition.
                        type: string
                      reason:
                        description: One word, camel-case reason for current status
                          of the condition.
                        type: string
                      status:
                        description: True, False, or Unknown
                        type: string
                      type:
                        description: Type indicates the scope of the custom resource
                          status addressed by the condition.
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                observedGeneration:
                  description: observedGeneration is the most recent successful generation
                    observed for this Vhost. It corresponds to the Vhost's generation,
                    which is updated on mutation by the API Server.
                  format: int64
                  type: integer
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
