{
  "description": "Binding is the Schema for the bindings API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "BindingSpec defines the desired state of Binding",
      "properties": {
        "arguments": {
          "description": "Cannot be updated",
          "type": [
            "object",
            "null"
          ],
          "x-kubernetes-preserve-unknown-fields": true
        },
        "destination": {
          "description": "Cannot be updated",
          "type": [
            "string",
            "null"
          ]
        },
        "destinationType": {
          "description": "Cannot be updated",
          "enum": [
            "exchange",
            "queue"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "rabbitmqClusterReference": {
          "additionalProperties": false,
          "description": "Reference to the RabbitmqCluster that the binding will be created in.\nRequired property.",
          "properties": {
            "connectionSecret": {
              "additionalProperties": false,
              "description": "Secret contains the http management uri for the RabbitMQ cluster.\nThe Secret must contain the key `uri`, `username` and `password` or operator will error.\nHave to set either name or connectionSecret, but not both.",
              "properties": {
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-map-type": "atomic"
            },
            "name": {
              "description": "The name of the RabbitMQ cluster to reference.\nHave to set either name or connectionSecret, but not both.",
              "type": [
                "string",
                "null"
              ]
            },
            "namespace": {
              "description": "The namespace of the RabbitMQ cluster to reference.\nDefaults to the namespace of the requested resource if omitted.",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "routingKey": {
          "description": "Cannot be updated",
          "type": [
            "string",
            "null"
          ]
        },
        "source": {
          "description": "Cannot be updated",
          "type": [
            "string",
            "null"
          ]
        },
        "vhost": {
          "default": "/",
          "description": "Default to vhost '/'; cannot be updated",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "rabbitmqClusterReference"
      ],
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "BindingStatus defines the observed state of Binding",
      "properties": {
        "conditions": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "lastTransitionTime": {
                "description": "The last time this Condition status changed.",
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "description": "Full text reason for current status of the condition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "reason": {
                "description": "One word, camel-case reason for current status of the condition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "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",
            "null"
          ]
        },
        "observedGeneration": {
          "description": "observedGeneration is the most recent successful generation observed for this Binding. It corresponds to the\nBinding's generation, which is updated on mutation by the API Server.",
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}