{
  "basePath": "",
  "rootUrl": "https://managedkafka.googleapis.com/",
  "ownerDomain": "google.com",
  "revision": "20261001",
  "mtlsRootUrl": "https://managedkafka.mtls.googleapis.com/",
  "id": "managedkafka:v1",
  "fullyEncodeReservedExpansion": true,
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "version_module": true,
  "servicePath": "",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "version": "v1",
  "batchPath": "batch",
  "ownerName": "Google",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "title": "Managed Service for Apache Kafka API",
  "protocol": "rest",
  "schemas": {
    "StopConnectorResponse": {
      "id": "StopConnectorResponse",
      "type": "object",
      "description": "Response for StopConnector.",
      "properties": {}
    },
    "CancelOperationRequest": {
      "properties": {},
      "type": "object",
      "id": "CancelOperationRequest",
      "description": "The request message for Operations.CancelOperation."
    },
    "EffectiveCapacityConfig": {
      "id": "EffectiveCapacityConfig",
      "properties": {
        "brokerCount": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The number of brokers in the cluster.",
          "format": "int64"
        },
        "brokerDiskSizeGib": {
          "format": "int64",
          "description": "Output only. The disk assigned to each broker in Gibibytes.",
          "type": "string",
          "readOnly": true
        }
      },
      "description": "Describes the effective capacity configuration of a Kafka cluster, both cluster-wide and per-broker.",
      "type": "object"
    },
    "SchemaConfig": {
      "properties": {
        "compatibility": {
          "description": "Required. The compatibility type of the schema. The default value is BACKWARD. If unset in a SchemaSubject-level SchemaConfig, defaults to the global value. If unset in a SchemaRegistry-level SchemaConfig, reverts to the default value.",
          "enum": [
            "NONE",
            "BACKWARD",
            "BACKWARD_TRANSITIVE",
            "FORWARD",
            "FORWARD_TRANSITIVE",
            "FULL",
            "FULL_TRANSITIVE"
          ],
          "type": "string",
          "enumDescriptions": [
            "No compatibility check.",
            "Backwards compatible with the most recent version.",
            "Backwards compatible with all previous versions.",
            "Forwards compatible with the most recent version.",
            "Forwards compatible with all previous versions.",
            "Backwards and forwards compatible with the most recent version.",
            "Backwards and forwards compatible with all previous versions."
          ]
        },
        "alias": {
          "description": "Optional. The subject to which this subject is an alias of. Only applicable for subject config.",
          "type": "string"
        },
        "normalize": {
          "type": "boolean",
          "description": "Optional. If true, the schema will be normalized before being stored or looked up. The default is false. If unset in a SchemaSubject-level SchemaConfig, the global value will be used. If unset in a SchemaRegistry-level SchemaConfig, reverts to the default value."
        }
      },
      "type": "object",
      "id": "SchemaConfig",
      "description": "SchemaConfig represents configuration for a schema registry or a specific subject."
    },
    "TlsConfig": {
      "id": "TlsConfig",
      "properties": {
        "sslPrincipalMappingRules": {
          "type": "string",
          "description": "Optional. A list of rules for mapping from SSL principal names to short names. These are applied in order by Kafka. Refer to the Apache Kafka documentation for `ssl.principal.mapping.rules` for the precise formatting details and syntax. Example: \"RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT\" This is a static Kafka broker configuration. Setting or modifying this field will trigger a rolling restart of the Kafka brokers to apply the change. An empty string means no rules are applied (Kafka default)."
        },
        "trustConfig": {
          "$ref": "TrustConfig",
          "description": "Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication."
        }
      },
      "type": "object",
      "description": "The TLS configuration for the Kafka cluster."
    },
    "CapacityConfig": {
      "properties": {
        "vcpuCount": {
          "format": "int64",
          "description": "Required. The number of vCPUs to provision for the cluster. Minimum: 3.",
          "type": "string"
        },
        "memoryBytes": {
          "format": "int64",
          "description": "Required. The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A capacity configuration of a Kafka cluster.",
      "id": "CapacityConfig"
    },
    "RestartConnectorRequest": {
      "id": "RestartConnectorRequest",
      "description": "Request for RestartConnector.",
      "properties": {},
      "type": "object"
    },
    "UpdateSchemaModeRequest": {
      "type": "object",
      "description": "Request for updating schema registry or subject mode.",
      "id": "UpdateSchemaModeRequest",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "NONE",
            "READONLY",
            "READWRITE",
            "IMPORT"
          ],
          "enumDescriptions": [
            "The default / unset value. The subject mode is NONE/unset by default, which means use the global schema registry mode. This should not be used for setting the mode.",
            "READONLY mode.",
            "READWRITE mode.",
            "IMPORT mode."
          ],
          "description": "Required. The mode type."
        }
      }
    },
    "TaskRetryPolicy": {
      "type": "object",
      "properties": {
        "minimumBackoff": {
          "description": "Optional. The minimum amount of time to wait before retrying a failed task. This sets a lower bound for the backoff delay.",
          "type": "string",
          "format": "google-duration"
        },
        "maximumBackoff": {
          "type": "string",
          "format": "google-duration",
          "description": "Optional. The maximum amount of time to wait before retrying a failed task. This sets an upper bound for the backoff delay."
        },
        "taskRetryDisabled": {
          "type": "boolean",
          "description": "Optional. If true, task retry is disabled."
        }
      },
      "description": "Task Retry Policy is implemented on a best-effort basis. The default policy retries tasks with a minimum_backoff of 60 seconds, and a maximum_backoff of 12 hours. You can disable the policy by setting the task_retry_disabled field to true. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. Note that the delay between consecutive task restarts may not always precisely match the configured settings. This can happen when the ConnectCluster is in rebalancing state or if the ConnectCluster is unresponsive etc. The default values for minimum and maximum backoffs are 60 seconds and 12 hours respectively.",
      "id": "TaskRetryPolicy"
    },
    "UpdateSchemaConfigRequest": {
      "type": "object",
      "id": "UpdateSchemaConfigRequest",
      "properties": {
        "compatibility": {
          "enumDescriptions": [
            "No compatibility check.",
            "Backwards compatible with the most recent version.",
            "Backwards compatible with all previous versions.",
            "Forwards compatible with the most recent version.",
            "Forwards compatible with all previous versions.",
            "Backwards and forwards compatible with the most recent version.",
            "Backwards and forwards compatible with all previous versions."
          ],
          "type": "string",
          "description": "Required. The compatibility type of the schemas. Cannot be unset for a SchemaRegistry-level SchemaConfig. If unset on a SchemaSubject-level SchemaConfig, removes the compatibility field for the SchemaConfig.",
          "enum": [
            "NONE",
            "BACKWARD",
            "BACKWARD_TRANSITIVE",
            "FORWARD",
            "FORWARD_TRANSITIVE",
            "FULL",
            "FULL_TRANSITIVE"
          ]
        },
        "normalize": {
          "description": "Optional. If true, the schema will be normalized before being stored or looked up. The default is false. Cannot be unset for a SchemaRegistry-level SchemaConfig. If unset on a SchemaSubject-level SchemaConfig, removes the normalize field for the SchemaConfig.",
          "type": "boolean"
        }
      },
      "description": "Request for updating schema config. On a SchemaSubject-level SchemaConfig, an unset field will be removed from the SchemaConfig."
    },
    "AclEntry": {
      "type": "object",
      "description": "Represents the access granted for a given Resource Pattern in an ACL.",
      "id": "AclEntry",
      "properties": {
        "operation": {
          "type": "string",
          "description": "Required. The operation type. Allowed values are (case insensitive): ALL, READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE. See https://kafka.apache.org/documentation/#operations_resources_and_protocols for valid combinations of resource_type and operation for different Kafka API requests."
        },
        "principal": {
          "type": "string",
          "description": "Required. The principal. Specified as Google Cloud account, with the Kafka StandardAuthorizer prefix \"User:\". For example: \"User:test-kafka-client@test-project.iam.gserviceaccount.com\". Can be the wildcard \"User:*\" to refer to all users."
        },
        "host": {
          "description": "Required. The host. Must be set to \"*\" for Managed Service for Apache Kafka.",
          "type": "string"
        },
        "permissionType": {
          "description": "Required. The permission type. Accepted values are (case insensitive): ALLOW, DENY.",
          "type": "string"
        }
      }
    },
    "PauseConnectorRequest": {
      "id": "PauseConnectorRequest",
      "properties": {},
      "description": "Request for PauseConnector.",
      "type": "object"
    },
    "AddAclEntryResponse": {
      "id": "AddAclEntryResponse",
      "type": "object",
      "description": "Response for AddAclEntry.",
      "properties": {
        "aclCreated": {
          "type": "boolean",
          "description": "Whether the acl was created as a result of adding the acl entry."
        },
        "acl": {
          "$ref": "Acl",
          "description": "The updated acl."
        }
      }
    },
    "RemoveAclEntryResponse": {
      "id": "RemoveAclEntryResponse",
      "type": "object",
      "description": "Response for RemoveAclEntry.",
      "properties": {
        "acl": {
          "$ref": "Acl",
          "description": "The updated acl. Returned if the removed acl entry was not the last entry in the acl."
        },
        "aclDeleted": {
          "type": "boolean",
          "description": "Returned with value true if the removed acl entry was the last entry in the acl, resulting in acl deletion."
        }
      }
    },
    "ConnectAccessConfig": {
      "id": "ConnectAccessConfig",
      "description": "The configuration of access to the Kafka Connect cluster.",
      "type": "object",
      "properties": {
        "networkConfigs": {
          "items": {
            "$ref": "ConnectNetworkConfig"
          },
          "description": "Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka Connect cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.",
          "type": "array"
        }
      }
    },
    "BrokerCapacityConfig": {
      "id": "BrokerCapacityConfig",
      "properties": {
        "diskSizeGib": {
          "format": "int64",
          "type": "string",
          "description": "Optional. The disk to provision for each broker in Gibibytes. Minimum: 100 GiB."
        }
      },
      "type": "object",
      "description": "Capacity configuration at a per-broker level within the Kafka cluster. The config will be appled to each broker in the cluster."
    },
    "ConnectNetworkConfig": {
      "type": "object",
      "properties": {
        "dnsDomainNames": {
          "type": "array",
          "description": "Optional. Additional DNS domain names from the subnet's network to be made visible to the Connect Cluster. When using MirrorMaker2, it's necessary to add the bootstrap address's dns domain name of the target cluster to make it visible to the connector. For example: my-kafka-cluster.us-central1.managedkafka.my-project.cloud.goog",
          "items": {
            "type": "string"
          }
        },
        "primarySubnet": {
          "description": "Required. VPC subnet to make available to the Kafka Connect cluster. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id} It is used to create a Private Service Connect (PSC) interface for the Kafka Connect workers. It must be located in the same region as the Kafka Connect cluster. The CIDR range of the subnet must be within the IPv4 address ranges for private networks, as specified in RFC 1918. The primary subnet CIDR range must have a minimum size of /22 (1024 addresses).",
          "type": "string"
        },
        "additionalSubnets": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Deprecated: Managed Kafka Connect clusters can now reach any endpoint accessible from the primary subnet without the need to define additional subnets. Please see https://cloud.google.com/managed-service-for-apache-kafka/docs/connect-cluster/create-connect-cluster#worker-subnet for more information.",
          "type": "array",
          "deprecated": true
        }
      },
      "description": "The configuration of a Virtual Private Cloud (VPC) network that can access the Kafka Connect cluster.",
      "id": "ConnectNetworkConfig"
    },
    "Connector": {
      "type": "object",
      "properties": {
        "configs": {
          "type": "object",
          "description": "Optional. Connector config as keys/values. The keys of the map are connector property names, for example: `connector.class`, `tasks.max`, `key.converter`.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "taskRestartPolicy": {
          "description": "Optional. Restarts the individual tasks of a Connector.",
          "$ref": "TaskRetryPolicy"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The name of the connector. Structured like: projects/{project}/locations/{location}/connectClusters/{connect_cluster}/connectors/{connector}"
        },
        "state": {
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "UNASSIGNED",
            "RUNNING",
            "PAUSED",
            "FAILED",
            "RESTARTING",
            "STOPPED"
          ],
          "description": "Output only. The current state of the connector.",
          "enumDescriptions": [
            "A state was not specified.",
            "The connector is not assigned to any tasks, usually transient.",
            "The connector is running.",
            "The connector has been paused.",
            "The connector has failed. See logs for why.",
            "The connector is restarting.",
            "The connector has been stopped."
          ],
          "readOnly": true
        }
      },
      "id": "Connector",
      "description": "A Kafka Connect connector in a given ConnectCluster."
    },
    "Cluster": {
      "description": "An Apache Kafka cluster deployed in a location.",
      "id": "Cluster",
      "properties": {
        "state": {
          "enumDescriptions": [
            "A state was not specified.",
            "The cluster is being created.",
            "The cluster is active.",
            "The cluster is being deleted.",
            "The cluster is being updated."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "DELETING",
            "UPDATING"
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. The current state of the cluster."
        },
        "tlsConfig": {
          "$ref": "TlsConfig",
          "description": "Optional. TLS configuration for the Kafka cluster."
        },
        "createTime": {
          "type": "string",
          "description": "Output only. The time when the cluster was created.",
          "format": "google-datetime",
          "readOnly": true
        },
        "satisfiesPzi": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Reserved for future use."
        },
        "updateTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time when the cluster was last updated."
        },
        "kafkaVersion": {
          "description": "Optional. The Apache Kafka version of the cluster (for example, `3.7.x`, `4.3.x`). If not specified during cluster creation, defaults to `3.7.x`.",
          "type": "string"
        },
        "publicClusterDetails": {
          "readOnly": true,
          "description": "Output only. Details of the public cluster feature for the Kafka cluster.",
          "$ref": "PublicClusterDetails"
        },
        "name": {
          "description": "Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}",
          "type": "string"
        },
        "satisfiesPzs": {
          "description": "Output only. Reserved for future use.",
          "readOnly": true,
          "type": "boolean"
        },
        "labels": {
          "description": "Optional. Labels as key value pairs.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "bootstrapAddress": {
          "readOnly": true,
          "description": "Output only. The bootstrap address of the Kafka cluster. The returned address format is: `bootstrap-...managedkafka.s.cloud.goog` or `bootstrap...managedkafka..cloud.goog` (legacy format). ## Examples: `bootstrap-nol2mecj8p94jhx2ge2rg54579a.c0aad26f.europe-west1.managedkafka.s.cloud.goog` - `bootstrap.my-cluster.us-central1.managedkafka.my-project.cloud.goog` The port number is omitted so clients can connect to their target listener (for example, `:9092` for TLS or `:9094` for mTLS).",
          "type": "string"
        },
        "brokerDetails": {
          "items": {
            "$ref": "BrokerDetails"
          },
          "type": "array",
          "description": "Output only. Only populated when FULL view is requested. Details of each broker in the cluster.",
          "readOnly": true
        },
        "gcpConfig": {
          "description": "Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform.",
          "$ref": "GcpConfig"
        },
        "brokerCapacityConfig": {
          "description": "Optional. Capacity configuration at a per-broker level within the Kafka cluster. The config will be appled to each broker in the cluster.",
          "$ref": "BrokerCapacityConfig"
        },
        "rebalanceConfig": {
          "description": "Optional. Rebalance configuration for the Kafka cluster.",
          "$ref": "RebalanceConfig"
        },
        "capacityConfig": {
          "$ref": "CapacityConfig",
          "description": "Required. Capacity configuration for the Kafka cluster."
        },
        "effectiveCapacityConfig": {
          "$ref": "EffectiveCapacityConfig",
          "readOnly": true,
          "description": "Output only. Only populated when FULL view is requested. The effective capacity configuration of the cluster."
        },
        "updateOptions": {
          "description": "Optional. UpdateOptions represents options that control how updates to the cluster are applied.",
          "$ref": "UpdateOptions"
        }
      },
      "type": "object"
    },
    "BrokerDetails": {
      "description": "Details of a broker in the Kafka cluster.",
      "properties": {
        "rack": {
          "description": "Output only. The rack of the broker.",
          "readOnly": true,
          "type": "string"
        },
        "brokerIndex": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The index of the broker.",
          "readOnly": true
        },
        "nodeId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The node id of the broker.",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "BrokerDetails"
    },
    "Schema": {
      "properties": {
        "references": {
          "type": "array",
          "items": {
            "$ref": "SchemaReference"
          },
          "description": "Optional. The schema references used by the schema."
        },
        "schema": {
          "type": "string",
          "description": "The schema payload."
        },
        "schemaType": {
          "description": "Optional. The schema type of the schema.",
          "type": "string",
          "enumDescriptions": [
            "No schema type. The default will be AVRO.",
            "Avro schema type.",
            "JSON schema type.",
            "Protobuf schema type."
          ],
          "enum": [
            "SCHEMA_TYPE_UNSPECIFIED",
            "AVRO",
            "JSON",
            "PROTOBUF"
          ]
        }
      },
      "description": "Schema for a Kafka message.",
      "id": "Schema",
      "type": "object"
    },
    "Location": {
      "type": "object",
      "id": "Location",
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object",
          "description": "Service-specific metadata. For example the available capacity at the given location."
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}"
        }
      }
    },
    "CheckCompatibilityRequest": {
      "type": "object",
      "properties": {
        "schemaType": {
          "type": "string",
          "enum": [
            "SCHEMA_TYPE_UNSPECIFIED",
            "AVRO",
            "JSON",
            "PROTOBUF"
          ],
          "description": "Optional. The schema type of the schema.",
          "enumDescriptions": [
            "No schema type. The default will be AVRO.",
            "Avro schema type.",
            "JSON schema type.",
            "Protobuf schema type."
          ]
        },
        "references": {
          "description": "Optional. The schema references used by the schema.",
          "type": "array",
          "items": {
            "$ref": "SchemaReference"
          }
        },
        "schema": {
          "description": "Required. The schema payload",
          "type": "string"
        },
        "verbose": {
          "description": "Optional. If true, the response will contain the compatibility check result with reasons for failed checks. The default is false.",
          "type": "boolean"
        }
      },
      "description": "Request for CheckCompatibility.",
      "id": "CheckCompatibilityRequest"
    },
    "PublicClusterConfig": {
      "type": "object",
      "properties": {
        "allowedSourceIpRanges": {
          "description": "Required. The list of IPv4 ranges in CIDR notation that are allowed to connect to the public Kafka broker endpoints. The Kafka cluster should only be exposed to trusted external ranges. A maximum of 500 IP ranges can be specified and no single range can be larger than a `/16`. This field is required if PublicClusterConfig is specified.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "The configuration for a public Kafka cluster",
      "id": "PublicClusterConfig"
    },
    "ResumeConnectorResponse": {
      "id": "ResumeConnectorResponse",
      "description": "Response for ResumeConnector.",
      "properties": {},
      "type": "object"
    },
    "NetworkConfig": {
      "id": "NetworkConfig",
      "properties": {
        "subnet": {
          "type": "string",
          "description": "Required. Name of the VPC subnet in which to create Private Service Connect (PSC) endpoints for the Kafka brokers and bootstrap address. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id} The subnet must be located in the same region as the Kafka cluster. The project may differ. Multiple subnets from the same parent network must not be specified."
        }
      },
      "type": "object",
      "description": "The configuration of a Virtual Private Cloud (VPC) network that can access the Kafka cluster."
    },
    "GcpConfig": {
      "properties": {
        "accessConfig": {
          "description": "Required. Access configuration for the Kafka cluster.",
          "$ref": "AccessConfig"
        },
        "kmsKey": {
          "description": "Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Configuration properties for a Kafka cluster deployed to Google Cloud Platform.",
      "id": "GcpConfig"
    },
    "ConsumerTopicMetadata": {
      "description": "Metadata for a consumer group corresponding to a specific topic.",
      "properties": {
        "partitions": {
          "additionalProperties": {
            "$ref": "ConsumerPartitionMetadata"
          },
          "description": "Optional. Metadata for this consumer group and topic for all partition indexes it has metadata for.",
          "type": "object"
        }
      },
      "id": "ConsumerTopicMetadata",
      "type": "object"
    },
    "ConsumerPartitionMetadata": {
      "type": "object",
      "properties": {
        "metadata": {
          "type": "string",
          "description": "Optional. The associated metadata for this partition, or empty if it does not exist."
        },
        "offset": {
          "format": "int64",
          "description": "Required. The current offset for this partition, or 0 if no offset has been committed.",
          "type": "string"
        }
      },
      "id": "ConsumerPartitionMetadata",
      "description": "Metadata for a consumer group corresponding to a specific partition."
    },
    "Operation": {
      "type": "object",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "Operation",
      "properties": {
        "name": {
          "type": "string",
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`."
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "done": {
          "type": "boolean",
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available."
        },
        "response": {
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        }
      }
    },
    "AccessConfig": {
      "type": "object",
      "description": "The configuration of access to the Kafka cluster.",
      "id": "AccessConfig",
      "properties": {
        "networkConfigs": {
          "description": "Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.",
          "type": "array",
          "items": {
            "$ref": "NetworkConfig"
          }
        },
        "publicClusterConfig": {
          "description": "Optional. The configuration for public connectivity to the Kafka cluster.",
          "$ref": "PublicClusterConfig"
        }
      }
    },
    "HttpBody": {
      "id": "HttpBody",
      "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.",
      "type": "object",
      "properties": {
        "extensions": {
          "description": "Application specific response metadata. Must be set in the first response for streaming APIs.",
          "type": "array",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          }
        },
        "data": {
          "description": "The HTTP request/response body as raw binary.",
          "type": "string",
          "format": "byte"
        },
        "contentType": {
          "description": "The HTTP Content-Type header value specifying the content type of the body.",
          "type": "string"
        }
      }
    },
    "CheckCompatibilityResponse": {
      "id": "CheckCompatibilityResponse",
      "description": "Response for CheckCompatibility.",
      "type": "object",
      "properties": {
        "messages": {
          "description": "Failure reasons if verbose = true.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "is_compatible": {
          "type": "boolean",
          "description": "The compatibility check result. If true, the schema is compatible with the resource."
        }
      }
    },
    "StopConnectorRequest": {
      "type": "object",
      "id": "StopConnectorRequest",
      "properties": {},
      "description": "Request for StopConnector."
    },
    "ListSchemaRegistriesResponse": {
      "properties": {
        "schemaRegistries": {
          "items": {
            "$ref": "SchemaRegistry"
          },
          "description": "The schema registry instances.",
          "type": "array"
        }
      },
      "type": "object",
      "id": "ListSchemaRegistriesResponse",
      "description": "Request for ListSchemaRegistries."
    },
    "ListConnectorsResponse": {
      "id": "ListConnectorsResponse",
      "type": "object",
      "description": "Response for ListConnectors.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results."
        },
        "connectors": {
          "type": "array",
          "items": {
            "$ref": "Connector"
          },
          "description": "The list of connectors in the requested parent."
        }
      }
    },
    "CreateVersionRequest": {
      "properties": {
        "references": {
          "type": "array",
          "items": {
            "$ref": "SchemaReference"
          },
          "description": "Optional. The schema references used by the schema."
        },
        "normalize": {
          "description": "Optional. If true, the schema will be normalized before being stored. The default is false.",
          "type": "boolean"
        },
        "version": {
          "description": "Optional. The version to create. It is optional. If not specified, the version will be created with the max version ID of the subject increased by 1. If the version ID is specified, it will be used as the new version ID and must not be used by an existing version of the subject.",
          "type": "integer",
          "format": "int32"
        },
        "schemaType": {
          "description": "Optional. The type of the schema. It is optional. If not specified, the schema type will be AVRO.",
          "type": "string",
          "enum": [
            "SCHEMA_TYPE_UNSPECIFIED",
            "AVRO",
            "JSON",
            "PROTOBUF"
          ],
          "enumDescriptions": [
            "No schema type. The default will be AVRO.",
            "Avro schema type.",
            "JSON schema type.",
            "Protobuf schema type."
          ]
        },
        "schema": {
          "description": "Required. The schema payload",
          "type": "string"
        },
        "id": {
          "description": "Optional. The schema ID of the schema. If not specified, the schema ID will be generated by the server. If the schema ID is specified, it must not be used by an existing schema that is different from the schema to be created.",
          "format": "int32",
          "type": "integer"
        }
      },
      "description": "Request for CreateVersion.",
      "id": "CreateVersionRequest",
      "type": "object"
    },
    "ConnectCluster": {
      "description": "An Apache Kafka Connect cluster deployed in a location.",
      "properties": {
        "updateTime": {
          "type": "string",
          "description": "Output only. The time when the cluster was last updated.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "satisfiesPzs": {
          "readOnly": true,
          "description": "Output only. Reserved for future use.",
          "type": "boolean"
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time when the cluster was created."
        },
        "gcpConfig": {
          "description": "Required. Configuration properties for a Kafka Connect cluster deployed to Google Cloud Platform.",
          "$ref": "ConnectGcpConfig"
        },
        "capacityConfig": {
          "$ref": "CapacityConfig",
          "description": "Required. Capacity configuration for the Kafka Connect cluster."
        },
        "labels": {
          "description": "Optional. Labels as key value pairs.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "config": {
          "description": "Optional. Reserved for future use. This field is meant for worker config overrides, but is unsupported for now.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "state": {
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "DELETING",
            "DETACHED"
          ],
          "readOnly": true,
          "description": "Output only. The current state of the Kafka Connect cluster.",
          "enumDescriptions": [
            "A state was not specified.",
            "The cluster is being created.",
            "The cluster is active.",
            "The cluster is being deleted.",
            "The cluster is detached."
          ]
        },
        "name": {
          "type": "string",
          "description": "Identifier. The name of the Kafka Connect cluster. Structured like: projects/{project_number}/locations/{location}/connectClusters/{connect_cluster_id}"
        },
        "kafkaCluster": {
          "description": "Required. Immutable. The name of the Kafka cluster this Kafka Connect cluster is attached to. Structured like: projects/{project}/locations/{location}/clusters/{cluster}",
          "type": "string"
        },
        "satisfiesPzi": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Reserved for future use."
        }
      },
      "type": "object",
      "id": "ConnectCluster"
    },
    "UpdateOptions": {
      "description": "UpdateOptions specifies options that influence how a cluster update is applied. These options control the behavior of the update process, rather than defining the desired end-state of a cluster.",
      "properties": {
        "allowBrokerDownscaleOnClusterUpscale": {
          "description": "Optional. If true, allows an update operation that increases the total vCPU and/or memory allocation of the cluster to significantly decrease the per-broker vCPU and/or memory allocation. This can result in reduced performance and availability. By default, the update operation will fail if an upscale request results in a vCPU or memory allocation for the brokers that is smaller than 90% of the current broker size.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "UpdateOptions"
    },
    "ConnectGcpConfig": {
      "description": "Configuration properties for a Kafka Connect cluster deployed to Google Cloud Platform.",
      "properties": {
        "accessConfig": {
          "description": "Required. Access configuration for the Kafka Connect cluster.",
          "$ref": "ConnectAccessConfig"
        },
        "secretPaths": {
          "description": "Optional. Secrets to load into workers. Exact SecretVersions from Secret Manager must be provided -- aliases are not supported. Up to 32 secrets may be loaded into one cluster. Format: projects//secrets//versions/",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "ConnectGcpConfig"
    },
    "ListConnectClustersResponse": {
      "id": "ListConnectClustersResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        },
        "connectClusters": {
          "type": "array",
          "items": {
            "$ref": "ConnectCluster"
          },
          "description": "The list of Connect clusters in the requested parent."
        }
      },
      "type": "object",
      "description": "Response for ListConnectClusters."
    },
    "ResumeConnectorRequest": {
      "description": "Request for ResumeConnector.",
      "properties": {},
      "id": "ResumeConnectorRequest",
      "type": "object"
    },
    "ListAclsResponse": {
      "description": "Response for ListAcls.",
      "properties": {
        "acls": {
          "description": "The list of acls in the requested parent. The order of the acls is unspecified.",
          "type": "array",
          "items": {
            "$ref": "Acl"
          }
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.",
          "type": "string"
        }
      },
      "id": "ListAclsResponse",
      "type": "object"
    },
    "PublicClusterDetails": {
      "description": "Details of the public cluster feature for the Kafka cluster.",
      "properties": {
        "discoveryDnsRecords": {
          "description": "Output only. DNS discovery records that resolve to all of the external IP addresses associated with the public cluster. Used for configuring DNS-based egress firewall rules to a public cluster. discovery_dns_record can be added to this list if the cluster is scaled up. Must configure DNS based firewalls to resolve ALL DNS records in this list as large clusters have IP addresses sharded across records. Each record contains a maximum of 30 IP addresses.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "externalIpAddresses": {
          "type": "array",
          "description": "Output only. All of the external IP addresses associated with the public cluster used for configuring egress firewall rules to a public cluster. external_ip_address can be added to this list if the cluster is scaled up.",
          "items": {
            "type": "string"
          },
          "readOnly": true
        }
      },
      "type": "object",
      "id": "PublicClusterDetails"
    },
    "ListOperationsResponse": {
      "id": "ListOperationsResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "unreachable": {
          "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "operations": {
          "items": {
            "$ref": "Operation"
          },
          "type": "array",
          "description": "A list of operations that matches the specified filter in the request."
        }
      },
      "description": "The response message for Operations.ListOperations."
    },
    "Context": {
      "description": "Context represents an independent schema grouping in a schema registry instance.",
      "properties": {
        "name": {
          "description": "Identifier. The name of the context. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}` The context name {context} can contain the following: * Up to 255 characters. * Allowed characters: letters (uppercase or lowercase), numbers, and the following special characters: `.`, `-`, `_`, `+`, `%`, and `~`.",
          "type": "string"
        },
        "subjects": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The subjects of the context."
        }
      },
      "id": "Context",
      "type": "object"
    },
    "LookupVersionRequest": {
      "description": "Request for LookupVersion.",
      "type": "object",
      "properties": {
        "references": {
          "description": "Optional. The schema references used by the schema.",
          "type": "array",
          "items": {
            "$ref": "SchemaReference"
          }
        },
        "schema": {
          "description": "Required. The schema payload",
          "type": "string"
        },
        "normalize": {
          "description": "Optional. If true, the schema will be normalized before being looked up. The default is false.",
          "type": "boolean"
        },
        "schemaType": {
          "type": "string",
          "enum": [
            "SCHEMA_TYPE_UNSPECIFIED",
            "AVRO",
            "JSON",
            "PROTOBUF"
          ],
          "description": "Optional. The schema type of the schema.",
          "enumDescriptions": [
            "No schema type. The default will be AVRO.",
            "Avro schema type.",
            "JSON schema type.",
            "Protobuf schema type."
          ]
        },
        "deleted": {
          "description": "Optional. If true, soft-deleted versions will be included in lookup, no matter if the subject is active or soft-deleted. If false, soft-deleted versions will be excluded. The default is false.",
          "type": "boolean"
        }
      },
      "id": "LookupVersionRequest"
    },
    "SchemaMode": {
      "description": "SchemaMode represents the mode of a schema registry or a specific subject. Four modes are supported: * NONE: deprecated. This was the default mode for a subject, but now the default is unset (which means use the global schema registry setting) * READONLY: The schema registry is in read-only mode. * READWRITE: The schema registry is in read-write mode, which allows limited write operations on the schema. * IMPORT: The schema registry is in import mode, which allows more editing operations on the schema for data importing purposes.",
      "properties": {
        "mode": {
          "type": "string",
          "enumDescriptions": [
            "The default / unset value. The subject mode is NONE/unset by default, which means use the global schema registry mode. This should not be used for setting the mode.",
            "READONLY mode.",
            "READWRITE mode.",
            "IMPORT mode."
          ],
          "description": "Required. The mode type of a schema registry (READWRITE by default) or of a subject (unset by default, which means use the global schema registry setting).",
          "enum": [
            "NONE",
            "READONLY",
            "READWRITE",
            "IMPORT"
          ]
        }
      },
      "id": "SchemaMode",
      "type": "object"
    },
    "ConsumerGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. The name of the consumer group. The `consumer_group` segment is used when connecting directly to the cluster. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/consumerGroups/{consumer_group}"
        },
        "topics": {
          "type": "object",
          "additionalProperties": {
            "$ref": "ConsumerTopicMetadata"
          },
          "description": "Optional. Metadata for this consumer group for all topics it has metadata for. The key of the map is a topic name, structured like: projects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}"
        }
      },
      "description": "A Kafka consumer group in a given cluster.",
      "type": "object",
      "id": "ConsumerGroup"
    },
    "PauseConnectorResponse": {
      "id": "PauseConnectorResponse",
      "type": "object",
      "description": "Response for PauseConnector.",
      "properties": {}
    },
    "ListTopicsResponse": {
      "properties": {
        "topics": {
          "description": "The list of topics in the requested parent. The order of the topics is unspecified.",
          "items": {
            "$ref": "Topic"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.",
          "type": "string"
        }
      },
      "description": "Response for ListTopics.",
      "type": "object",
      "id": "ListTopicsResponse"
    },
    "ListLocationsResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "locations": {
          "type": "array",
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "Location"
          }
        }
      },
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations.",
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {},
      "type": "object",
      "id": "Empty"
    },
    "ListConsumerGroupsResponse": {
      "description": "Response for ListConsumerGroups.",
      "type": "object",
      "id": "ListConsumerGroupsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results."
        },
        "consumerGroups": {
          "description": "The list of consumer group in the requested parent. The order of the consumer groups is unspecified.",
          "type": "array",
          "items": {
            "$ref": "ConsumerGroup"
          }
        }
      }
    },
    "ListClustersResponse": {
      "id": "ListClustersResponse",
      "type": "object",
      "properties": {
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "clusters": {
          "description": "The list of Clusters in the requested parent.",
          "items": {
            "$ref": "Cluster"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.",
          "type": "string"
        }
      },
      "description": "Response for ListClusters."
    },
    "SchemaRegistry": {
      "type": "object",
      "description": "SchemaRegistry is a schema registry instance.",
      "properties": {
        "contexts": {
          "description": "Output only. The contexts of the schema registry instance.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "type": "string",
          "description": "Identifier. The name of the schema registry instance. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}` The instance name {schema_registry} can contain the following: * Up to 255 characters. * Letters (uppercase or lowercase), numbers, and underscores."
        }
      },
      "id": "SchemaRegistry"
    },
    "RebalanceConfig": {
      "properties": {
        "mode": {
          "enum": [
            "MODE_UNSPECIFIED",
            "NO_REBALANCE",
            "AUTO_REBALANCE_ON_SCALE_UP"
          ],
          "enumDescriptions": [
            "A mode was not specified. Do not use.",
            "Do not rebalance automatically.",
            "Automatically rebalance topic partitions among brokers when the cluster is scaled up."
          ],
          "description": "Optional. The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`.",
          "type": "string"
        }
      },
      "description": "Defines rebalancing behavior of a Kafka cluster.",
      "id": "RebalanceConfig",
      "type": "object"
    },
    "CreateVersionResponse": {
      "id": "CreateVersionResponse",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the schema created.",
          "format": "int32",
          "type": "integer"
        }
      },
      "description": "Response for CreateVersion."
    },
    "Topic": {
      "type": "object",
      "id": "Topic",
      "properties": {
        "replicationFactor": {
          "description": "Required. Immutable. The number of replicas of each partition. A replication factor of 3 is recommended for high availability.",
          "format": "int32",
          "type": "integer"
        },
        "configs": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Configurations for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy`, `compression.type`.",
          "type": "object"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The name of the topic. The `topic` segment is used when connecting directly to the cluster. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}"
        },
        "partitionCount": {
          "format": "int32",
          "description": "Required. The number of partitions this topic has. The partition count can only be increased, not decreased. Please note that if partitions are increased for a topic that has a key, the partitioning logic or the ordering of the messages will be affected.",
          "type": "integer"
        }
      },
      "description": "A Kafka topic in a given cluster."
    },
    "Acl": {
      "description": "Represents the set of ACLs for a given Kafka Resource Pattern, which consists of resource_type, resource_name and pattern_type.",
      "id": "Acl",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The ACL resource name derived from the name. For cluster resource_type, this is always \"kafka-cluster\". Can be the wildcard literal \"*\".",
          "readOnly": true
        },
        "etag": {
          "type": "string",
          "description": "Optional. `etag` is used for concurrency control. An `etag` is returned in the response to `GetAcl` and `CreateAcl`. Callers are required to put that etag in the request to `UpdateAcl` to ensure that their change will be applied to the same version of the acl that exists in the Kafka Cluster. A terminal 'T' character in the etag indicates that the AclEntries were truncated; more entries for the Acl exist on the Kafka Cluster, but can't be returned in the Acl due to repeated field limits."
        },
        "resourceType": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The ACL resource type derived from the name. One of: CLUSTER, TOPIC, GROUP, TRANSACTIONAL_ID."
        },
        "aclEntries": {
          "items": {
            "$ref": "AclEntry"
          },
          "description": "Required. The ACL entries that apply to the resource pattern. The maximum number of allowed entries 100.",
          "type": "array"
        },
        "name": {
          "description": "Identifier. The name for the acl. Represents a single Resource Pattern. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id} The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. `acl_id` is structured like one of the following: For acls on the cluster: `cluster` For acls on a single resource within the cluster: `topic/{resource_name}` `consumerGroup/{resource_name}` `transactionalId/{resource_name}` For acls on all resources that match a prefix: `topicPrefixed/{resource_name}` `consumerGroupPrefixed/{resource_name}` `transactionalIdPrefixed/{resource_name}` For acls on all resources of a given type (i.e. the wildcard literal \"*\"): `allTopics` (represents `topic/*`) `allConsumerGroups` (represents `consumerGroup/*`) `allTransactionalIds` (represents `transactionalId/*`)",
          "type": "string"
        },
        "patternType": {
          "readOnly": true,
          "description": "Output only. The ACL pattern type derived from the name. One of: LITERAL, PREFIXED.",
          "type": "string"
        }
      }
    },
    "SchemaReference": {
      "id": "SchemaReference",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. The name of the reference."
        },
        "subject": {
          "description": "Required. The subject of the reference.",
          "type": "string"
        },
        "version": {
          "format": "int32",
          "description": "Required. The version of the reference.",
          "type": "integer"
        }
      },
      "description": "SchemaReference is a reference to a schema.",
      "type": "object"
    },
    "OperationMetadata": {
      "type": "object",
      "description": "Represents the metadata of the long-running operation.",
      "properties": {
        "statusMessage": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "endTime": {
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running.",
          "readOnly": true,
          "type": "string"
        },
        "target": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Server-defined resource path for the target of the operation."
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. API version used to start the operation."
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation was created."
        },
        "requestedCancellation": {
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "type": "boolean",
          "readOnly": true
        },
        "verb": {
          "type": "string",
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true
        }
      },
      "id": "OperationMetadata"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object",
      "id": "Status",
      "properties": {
        "details": {
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          }
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "code": {
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer"
        }
      }
    },
    "RestartConnectorResponse": {
      "id": "RestartConnectorResponse",
      "type": "object",
      "description": "Response for RestartConnector.",
      "properties": {}
    },
    "CreateSchemaRegistryRequest": {
      "description": "Request to create a schema registry instance.",
      "properties": {
        "schemaRegistryId": {
          "description": "Required. The schema registry instance ID to use for this schema registry. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores (-). The maximum length is 63 characters. The ID must not start with a number.",
          "type": "string"
        },
        "schemaRegistry": {
          "$ref": "SchemaRegistry",
          "description": "Required. The schema registry instance to create. The name field is ignored."
        }
      },
      "id": "CreateSchemaRegistryRequest",
      "type": "object"
    },
    "TrustConfig": {
      "type": "object",
      "id": "TrustConfig",
      "description": "Sources of CA certificates to install in the broker's truststore.",
      "properties": {
        "casConfigs": {
          "items": {
            "$ref": "CertificateAuthorityServiceConfig"
          },
          "type": "array",
          "description": "Optional. Configuration for the Google Certificate Authority Service. Maximum 10."
        }
      }
    },
    "SchemaSubject": {
      "description": "Subject defines the evolution scope of schemas as a holder of schema versions.",
      "properties": {
        "name": {
          "description": "Identifier. The name of the subject. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}` Subject name {subject} can contain the following: * Up to 255 UTF-8 bytes. * Allowed characters: letters (uppercase or lowercase), numbers, and the following special characters: `.`, `-`, `_`, `+`, `%`, and `~`.",
          "type": "string"
        },
        "versions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The versions of the subject."
        }
      },
      "id": "SchemaSubject",
      "type": "object"
    },
    "CertificateAuthorityServiceConfig": {
      "type": "object",
      "id": "CertificateAuthorityServiceConfig",
      "properties": {
        "caPool": {
          "type": "string",
          "description": "Required. The name of the CA pool to pull CA certificates from. Structured like: projects/{project}/locations/{location}/caPools/{ca_pool}. The CA pool does not need to be in the same project or location as the Kafka cluster."
        }
      },
      "description": "A configuration for the Google Certificate Authority Service."
    },
    "SchemaVersion": {
      "properties": {
        "subject": {
          "type": "string",
          "description": "Required. The subject of the version."
        },
        "references": {
          "type": "array",
          "description": "Optional. The schema references used by the schema.",
          "items": {
            "$ref": "SchemaReference"
          }
        },
        "schema": {
          "description": "Required. The schema payload.",
          "type": "string"
        },
        "id": {
          "description": "Required. The schema ID.",
          "type": "integer",
          "format": "int32"
        },
        "version": {
          "format": "int32",
          "type": "integer",
          "description": "Required. The version ID"
        },
        "schemaType": {
          "enum": [
            "SCHEMA_TYPE_UNSPECIFIED",
            "AVRO",
            "JSON",
            "PROTOBUF"
          ],
          "enumDescriptions": [
            "No schema type. The default will be AVRO.",
            "Avro schema type.",
            "JSON schema type.",
            "Protobuf schema type."
          ],
          "description": "Optional. The schema type of the schema.",
          "type": "string"
        }
      },
      "id": "SchemaVersion",
      "type": "object",
      "description": "Version of a schema."
    }
  },
  "documentationLink": "https://cloud.google.com/managed-service-for-apache-kafka/docs",
  "canonicalName": "Managed Kafka",
  "baseUrl": "https://managedkafka.googleapis.com/",
  "name": "managedkafka",
  "description": "Manage Apache Kafka clusters and resources. ",
  "parameters": {
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "prettyPrint": {
      "default": "true",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "location": "query",
      "type": "string",
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "description": "V1 error format."
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    }
  },
  "endpoints": [
    {
      "endpointUrl": "https://managedkafka.africa-south1.rep.googleapis.com/",
      "location": "africa-south1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "asia-east1",
      "endpointUrl": "https://managedkafka.asia-east1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.asia-east2.rep.googleapis.com/",
      "location": "asia-east2"
    },
    {
      "location": "asia-northeast1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.asia-northeast1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.asia-northeast2.rep.googleapis.com/",
      "location": "asia-northeast2"
    },
    {
      "endpointUrl": "https://managedkafka.asia-northeast3.rep.googleapis.com/",
      "location": "asia-northeast3",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.asia-south1.rep.googleapis.com/",
      "location": "asia-south1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.asia-south2.rep.googleapis.com/",
      "location": "asia-south2",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-southeast1",
      "endpointUrl": "https://managedkafka.asia-southeast1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-southeast2",
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.asia-southeast2.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://managedkafka.australia-southeast1.rep.googleapis.com/",
      "location": "australia-southeast1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.australia-southeast2.rep.googleapis.com/",
      "location": "australia-southeast2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.europe-central2.rep.googleapis.com/",
      "location": "europe-central2",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-north1",
      "endpointUrl": "https://managedkafka.europe-north1.rep.googleapis.com/"
    },
    {
      "location": "europe-north2",
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.europe-north2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-southwest1",
      "endpointUrl": "https://managedkafka.europe-southwest1.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://managedkafka.europe-west1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west1"
    },
    {
      "endpointUrl": "https://managedkafka.europe-west2.rep.googleapis.com/",
      "location": "europe-west2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.europe-west3.rep.googleapis.com/",
      "location": "europe-west3",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.europe-west4.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west4"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-west6",
      "endpointUrl": "https://managedkafka.europe-west6.rep.googleapis.com/"
    },
    {
      "location": "europe-west8",
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.europe-west8.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://managedkafka.europe-west9.rep.googleapis.com/",
      "location": "europe-west9",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.europe-west10.rep.googleapis.com/",
      "location": "europe-west10"
    },
    {
      "endpointUrl": "https://managedkafka.europe-west12.rep.googleapis.com/",
      "location": "europe-west12",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://managedkafka.me-west1.rep.googleapis.com/",
      "location": "me-west1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "me-central1",
      "endpointUrl": "https://managedkafka.me-central1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.me-central2.rep.googleapis.com/",
      "location": "me-central2"
    },
    {
      "endpointUrl": "https://managedkafka.northamerica-northeast1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "northamerica-northeast1"
    },
    {
      "description": "Regional Endpoint",
      "location": "northamerica-northeast2",
      "endpointUrl": "https://managedkafka.northamerica-northeast2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "southamerica-east1",
      "endpointUrl": "https://managedkafka.southamerica-east1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.southamerica-west1.rep.googleapis.com/",
      "location": "southamerica-west1"
    },
    {
      "endpointUrl": "https://managedkafka.us-central1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-central1"
    },
    {
      "endpointUrl": "https://managedkafka.us-east1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-east1"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-east4",
      "endpointUrl": "https://managedkafka.us-east4.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://managedkafka.us-east5.rep.googleapis.com/",
      "location": "us-east5",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.us-east7.rep.googleapis.com/",
      "location": "us-east7"
    },
    {
      "endpointUrl": "https://managedkafka.us-south1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-south1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.us-west1.rep.googleapis.com/",
      "location": "us-west1"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west2",
      "endpointUrl": "https://managedkafka.us-west2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.us-west3.rep.googleapis.com/",
      "location": "us-west3"
    },
    {
      "location": "us-west4",
      "description": "Regional Endpoint",
      "endpointUrl": "https://managedkafka.us-west4.rep.googleapis.com/"
    }
  ],
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "description": "Gets information about a location.",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "id": "managedkafka.projects.locations.get",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "description": "Resource name for the location.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Location"
              }
            },
            "list": {
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "pattern": "^projects/[^/]+$",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "type": "string"
                },
                "extraLocationTypes": {
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query",
                  "type": "string",
                  "repeated": true
                },
                "pageSize": {
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "type": "integer",
                  "format": "int32",
                  "location": "query"
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page."
                },
                "filter": {
                  "location": "query",
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
                  "type": "string"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations",
              "httpMethod": "GET",
              "id": "managedkafka.projects.locations.list",
              "parameterOrder": [
                "name"
              ],
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "path": "v1/{+name}/locations"
            }
          },
          "resources": {
            "clusters": {
              "methods": {
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "managedkafka.projects.locations.clusters.create",
                  "description": "Creates a new cluster in a given project and location.",
                  "request": {
                    "$ref": "Cluster"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Required. The parent region in which to create the cluster. Structured like `projects/{project}/locations/{location}`."
                    },
                    "requestId": {
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "location": "query",
                      "type": "string"
                    },
                    "clusterId": {
                      "description": "Required. The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "httpMethod": "POST",
                  "path": "v1/{+parent}/clusters",
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "parameters": {
                    "requestId": {
                      "location": "query",
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "type": "string"
                    },
                    "name": {
                      "description": "Required. The name of the cluster to delete.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "httpMethod": "DELETE",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a single cluster.",
                  "id": "managedkafka.projects.locations.clusters.delete",
                  "path": "v1/{+name}"
                },
                "patch": {
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "Cluster"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                  "description": "Updates the properties of a single cluster.",
                  "httpMethod": "PATCH",
                  "id": "managedkafka.projects.locations.clusters.patch",
                  "parameters": {
                    "requestId": {
                      "location": "query",
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "type": "string"
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$"
                    },
                    "updateMask": {
                      "format": "google-fieldmask",
                      "location": "query",
                      "description": "Required. Field mask is used to specify the fields to be overwritten in the cluster resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields.",
                      "type": "string"
                    }
                  }
                },
                "list": {
                  "description": "Lists the clusters in a given project and location.",
                  "parameters": {
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `ListClusters` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListClusters` must match the call that provided the page token.",
                      "type": "string",
                      "location": "query"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location whose clusters are to be listed. Structured like `projects/{project}/locations/{location}`.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. Order by fields for the result.",
                      "type": "string",
                      "location": "query"
                    },
                    "filter": {
                      "location": "query",
                      "description": "Optional. Filter expression for the result.",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The maximum number of clusters to return. The service may return fewer than this value. If unspecified, server will pick an appropriate default.",
                      "format": "int32",
                      "type": "integer",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "ListClustersResponse"
                  },
                  "httpMethod": "GET",
                  "path": "v1/{+parent}/clusters",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "managedkafka.projects.locations.clusters.list",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters"
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Cluster"
                  },
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "Required. The name of the cluster whose configuration to return.",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$"
                    },
                    "view": {
                      "enumDescriptions": [
                        "The default / unset value. The API will default to the BASIC view.",
                        "Include the basic metadata of the Cluster. This is the default value (for both ListClusters and GetCluster).",
                        "Include everything, including data fetched from the Kafka cluster source of truth."
                      ],
                      "description": "Optional. Specifies the view of the Cluster resource to be returned. Defaults to CLUSTER_VIEW_BASIC. See the ClusterView enum for possible values.",
                      "type": "string",
                      "location": "query",
                      "enum": [
                        "CLUSTER_VIEW_UNSPECIFIED",
                        "CLUSTER_VIEW_BASIC",
                        "CLUSTER_VIEW_FULL"
                      ]
                    }
                  },
                  "id": "managedkafka.projects.locations.clusters.get",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                  "path": "v1/{+name}",
                  "description": "Returns the properties of a single cluster."
                }
              },
              "resources": {
                "consumerGroups": {
                  "methods": {
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ConsumerGroup"
                      },
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "description": "Identifier. The name of the consumer group. The `consumer_group` segment is used when connecting directly to the cluster. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/consumerGroups/{consumer_group}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/consumerGroups/.*$",
                          "type": "string"
                        },
                        "updateMask": {
                          "type": "string",
                          "description": "Required. Field mask is used to specify the fields to be overwritten in the ConsumerGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields.",
                          "format": "google-fieldmask",
                          "location": "query"
                        }
                      },
                      "httpMethod": "PATCH",
                      "description": "Updates the properties of a single consumer group.",
                      "id": "managedkafka.projects.locations.clusters.consumerGroups.patch",
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/consumerGroups/{consumerGroupsId}",
                      "request": {
                        "$ref": "ConsumerGroup"
                      }
                    },
                    "delete": {
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "id": "managedkafka.projects.locations.clusters.consumerGroups.delete",
                      "description": "Deletes a single consumer group.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the consumer group to delete. `projects/{project}/locations/{location}/clusters/{cluster}/consumerGroups/{consumerGroup}`.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/consumerGroups/.*$",
                          "type": "string"
                        }
                      },
                      "httpMethod": "DELETE",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/consumerGroups/{consumerGroupsId}"
                    },
                    "get": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/consumerGroups/{consumerGroupsId}",
                      "path": "v1/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Returns the properties of a single consumer group.",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the consumer group whose configuration to return. `projects/{project}/locations/{location}/clusters/{cluster}/consumerGroups/{consumerGroup}`.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/consumerGroups/.*$"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "managedkafka.projects.locations.clusters.consumerGroups.get",
                      "response": {
                        "$ref": "ConsumerGroup"
                      }
                    },
                    "list": {
                      "id": "managedkafka.projects.locations.clusters.consumerGroups.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListConsumerGroupsResponse"
                      },
                      "description": "Lists the consumer groups in a given cluster.",
                      "httpMethod": "GET",
                      "parameters": {
                        "filter": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. Filter expression for the result. Only supports filtering by topic name as a key in the `topics` map."
                        },
                        "pageSize": {
                          "format": "int32",
                          "description": "Optional. The maximum number of consumer groups to return. The service may return fewer than this value. If unset or zero, all consumer groups for the parent is returned.",
                          "location": "query",
                          "type": "integer"
                        },
                        "parent": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                          "description": "Required. The parent cluster whose consumer groups are to be listed. Structured like `projects/{project}/locations/{location}/clusters/{cluster}`.",
                          "location": "path",
                          "required": true
                        },
                        "view": {
                          "type": "string",
                          "enum": [
                            "CONSUMER_GROUP_VIEW_UNSPECIFIED",
                            "CONSUMER_GROUP_VIEW_BASIC",
                            "CONSUMER_GROUP_VIEW_FULL"
                          ],
                          "enumDescriptions": [
                            "The default / unset value. The API will default to the FULL view.",
                            "Include the name of the ConsumerGroup. This hides partition and topic metadata.",
                            "Include everything, including partition and topic metadata. This is the default value."
                          ],
                          "description": "Optional. Specifies the view (BASIC or FULL) of the ConsumerGroup resource to be returned in the response. Defaults to FULL view.",
                          "location": "query"
                        },
                        "pageToken": {
                          "description": "Optional. A page token, received from a previous `ListConsumerGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConsumerGroups` must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+parent}/consumerGroups",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/consumerGroups"
                    }
                  }
                },
                "topics": {
                  "methods": {
                    "list": {
                      "path": "v1/{+parent}/topics",
                      "response": {
                        "$ref": "ListTopicsResponse"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "description": "Lists the topics in a given cluster.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/topics",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "managedkafka.projects.locations.clusters.topics.list",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent cluster whose topics are to be listed. Structured like `projects/{project}/locations/{location}/clusters/{cluster}`.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "Optional. A page token, received from a previous `ListTopics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTopics` must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "type": "integer",
                          "location": "query",
                          "description": "Optional. The maximum number of topics to return. The service may return fewer than this value. If unset or zero, all topics for the parent is returned.",
                          "format": "int32"
                        }
                      }
                    },
                    "get": {
                      "response": {
                        "$ref": "Topic"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "managedkafka.projects.locations.clusters.topics.get",
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/topics/[^/]+$",
                          "location": "path",
                          "required": true,
                          "description": "Required. The name of the topic whose configuration to return. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}."
                        }
                      },
                      "httpMethod": "GET",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/topics/{topicsId}",
                      "description": "Returns the properties of a single topic."
                    },
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/topics/{topicsId}",
                      "id": "managedkafka.projects.locations.clusters.topics.patch",
                      "request": {
                        "$ref": "Topic"
                      },
                      "path": "v1/{+name}",
                      "parameters": {
                        "updateMask": {
                          "type": "string",
                          "format": "google-fieldmask",
                          "description": "Required. Field mask is used to specify the fields to be overwritten in the Topic resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields.",
                          "location": "query"
                        },
                        "name": {
                          "description": "Identifier. The name of the topic. The `topic` segment is used when connecting directly to the cluster. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/topics/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "description": "Updates the properties of a single topic.",
                      "httpMethod": "PATCH",
                      "response": {
                        "$ref": "Topic"
                      },
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "create": {
                      "request": {
                        "$ref": "Topic"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/topics",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "managedkafka.projects.locations.clusters.topics.create",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent cluster in which to create the topic. Structured like `projects/{project}/locations/{location}/clusters/{cluster}`.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                          "type": "string"
                        },
                        "topicId": {
                          "location": "query",
                          "type": "string",
                          "description": "Required. The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`."
                        }
                      },
                      "description": "Creates a new topic in a given project and location.",
                      "response": {
                        "$ref": "Topic"
                      },
                      "path": "v1/{+parent}/topics"
                    },
                    "delete": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/topics/{topicsId}",
                      "description": "Deletes a single topic.",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the topic to delete. `projects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}`.",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/topics/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "id": "managedkafka.projects.locations.clusters.topics.delete",
                      "httpMethod": "DELETE",
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                },
                "acls": {
                  "methods": {
                    "create": {
                      "response": {
                        "$ref": "Acl"
                      },
                      "id": "managedkafka.projects.locations.clusters.acls.create",
                      "request": {
                        "$ref": "Acl"
                      },
                      "path": "v1/{+parent}/acls",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent cluster in which to create the acl. Structured like `projects/{project}/locations/{location}/clusters/{cluster}`.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$"
                        },
                        "aclId": {
                          "location": "query",
                          "type": "string",
                          "description": "Required. The ID to use for the acl, which will become the final component of the acl's name. The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. `acl_id` is structured like one of the following: For acls on the cluster: `cluster` For acls on a single resource within the cluster: `topic/{resource_name}` `consumerGroup/{resource_name}` `transactionalId/{resource_name}` For acls on all resources that match a prefix: `topicPrefixed/{resource_name}` `consumerGroupPrefixed/{resource_name}` `transactionalIdPrefixed/{resource_name}` For acls on all resources of a given type (i.e. the wildcard literal \"*\"): `allTopics` (represents `topic/*`) `allConsumerGroups` (represents `consumerGroup/*`) `allTransactionalIds` (represents `transactionalId/*`)"
                        }
                      },
                      "description": "Creates a new acl in the given project, location, and cluster.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls"
                    },
                    "delete": {
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The name of the acl to delete. Structured like: `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`. The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. See `Acl.name` for details.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/acls/.*$"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Empty"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls/{aclsId}",
                      "id": "managedkafka.projects.locations.clusters.acls.delete",
                      "description": "Deletes an acl."
                    },
                    "addAclEntry": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "managedkafka.projects.locations.clusters.acls.addAclEntry",
                      "response": {
                        "$ref": "AddAclEntryResponse"
                      },
                      "parameterOrder": [
                        "acl"
                      ],
                      "description": "Incremental update: Adds an acl entry to an acl. Creates the acl if it does not exist yet.",
                      "parameters": {
                        "acl": {
                          "description": "Required. The name of the acl to add the acl entry to. Structured like: `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`. The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. See `Acl.name` for details.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/acls/.*$",
                          "type": "string"
                        }
                      },
                      "httpMethod": "POST",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls/{aclsId}:addAclEntry",
                      "path": "v1/{+acl}:addAclEntry",
                      "request": {
                        "$ref": "AclEntry"
                      }
                    },
                    "patch": {
                      "description": "Updates the properties of a single acl.",
                      "response": {
                        "$ref": "Acl"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "request": {
                        "$ref": "Acl"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls/{aclsId}",
                      "id": "managedkafka.projects.locations.clusters.acls.patch",
                      "parameters": {
                        "updateMask": {
                          "description": "Optional. Field mask is used to specify the fields to be overwritten in the Acl resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.",
                          "type": "string",
                          "format": "google-fieldmask",
                          "location": "query"
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/acls/.*$",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "description": "Identifier. The name for the acl. Represents a single Resource Pattern. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id} The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. `acl_id` is structured like one of the following: For acls on the cluster: `cluster` For acls on a single resource within the cluster: `topic/{resource_name}` `consumerGroup/{resource_name}` `transactionalId/{resource_name}` For acls on all resources that match a prefix: `topicPrefixed/{resource_name}` `consumerGroupPrefixed/{resource_name}` `transactionalIdPrefixed/{resource_name}` For acls on all resources of a given type (i.e. the wildcard literal \"*\"): `allTopics` (represents `topic/*`) `allConsumerGroups` (represents `consumerGroup/*`) `allTransactionalIds` (represents `transactionalId/*`)"
                        }
                      }
                    },
                    "removeAclEntry": {
                      "description": "Incremental update: Removes an acl entry from an acl. Deletes the acl if its acl entries become empty (i.e. if the removed entry was the last one in the acl).",
                      "path": "v1/{+acl}:removeAclEntry",
                      "request": {
                        "$ref": "AclEntry"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls/{aclsId}:removeAclEntry",
                      "parameterOrder": [
                        "acl"
                      ],
                      "parameters": {
                        "acl": {
                          "description": "Required. The name of the acl to remove the acl entry from. Structured like: `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`. The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. See `Acl.name` for details.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/acls/.*$",
                          "type": "string",
                          "location": "path",
                          "required": true
                        }
                      },
                      "httpMethod": "POST",
                      "response": {
                        "$ref": "RemoveAclEntryResponse"
                      },
                      "id": "managedkafka.projects.locations.clusters.acls.removeAclEntry",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/acls/.*$",
                          "location": "path",
                          "required": true,
                          "description": "Required. The name of the acl to return. Structured like: `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`. The structure of `acl_id` defines the Resource Pattern (resource_type, resource_name, pattern_type) of the acl. See `Acl.name` for details.",
                          "type": "string"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Acl"
                      },
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls/{aclsId}",
                      "id": "managedkafka.projects.locations.clusters.acls.get",
                      "description": "Returns the properties of a single acl."
                    },
                    "list": {
                      "description": "Lists the acls in a given cluster.",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                          "description": "Required. The parent cluster whose acls are to be listed. Structured like `projects/{project}/locations/{location}/clusters/{cluster}`.",
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "Optional. A page token, received from a previous `ListAcls` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAcls` must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. The maximum number of acls to return. The service may return fewer than this value. If unset or zero, all acls for the parent is returned.",
                          "location": "query"
                        }
                      },
                      "path": "v1/{+parent}/acls",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/acls",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "managedkafka.projects.locations.clusters.acls.list",
                      "response": {
                        "$ref": "ListAclsResponse"
                      }
                    }
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "delete": {
                  "id": "managedkafka.projects.locations.operations.delete",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource to be deleted."
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  }
                },
                "get": {
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "managedkafka.projects.locations.operations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "httpMethod": "GET"
                },
                "cancel": {
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "path": "v1/{+name}:cancel",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be cancelled.",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "id": "managedkafka.projects.locations.operations.cancel",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  }
                },
                "list": {
                  "id": "managedkafka.projects.locations.operations.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "parameters": {
                    "filter": {
                      "description": "The standard list filter.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageSize": {
                      "format": "int32",
                      "location": "query",
                      "type": "integer",
                      "description": "The standard list page size."
                    },
                    "returnPartialSuccess": {
                      "location": "query",
                      "type": "boolean",
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation."
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the operation's parent resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "The standard list page token.",
                      "type": "string"
                    }
                  },
                  "httpMethod": "GET",
                  "path": "v1/{+name}/operations"
                }
              }
            },
            "connectClusters": {
              "resources": {
                "connectors": {
                  "methods": {
                    "stop": {
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The name of the connector to stop. Structured like: projects/{project}/locations/{location}/connectClusters/{connectCluster}/connectors/{connector}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}:stop",
                      "request": {
                        "$ref": "StopConnectorRequest"
                      },
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}:stop",
                      "description": "Stops the connector.",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "managedkafka.projects.locations.connectClusters.connectors.stop",
                      "response": {
                        "$ref": "StopConnectorResponse"
                      }
                    },
                    "patch": {
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}",
                      "request": {
                        "$ref": "Connector"
                      },
                      "httpMethod": "PATCH",
                      "response": {
                        "$ref": "Connector"
                      },
                      "description": "Updates the properties of a connector.",
                      "parameters": {
                        "updateMask": {
                          "type": "string",
                          "location": "query",
                          "description": "Required. Field mask is used to specify the fields to be overwritten in the cluster resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields.",
                          "format": "google-fieldmask"
                        },
                        "name": {
                          "description": "Identifier. The name of the connector. Structured like: projects/{project}/locations/{location}/connectClusters/{connect_cluster}/connectors/{connector}",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "type": "string"
                        }
                      },
                      "id": "managedkafka.projects.locations.connectClusters.connectors.patch",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "resume": {
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "ResumeConnectorRequest"
                      },
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The name of the connector to pause. Structured like: projects/{project}/locations/{location}/connectClusters/{connectCluster}/connectors/{connector}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "response": {
                        "$ref": "ResumeConnectorResponse"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:resume",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}:resume",
                      "description": "Resumes the connector and its tasks.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "managedkafka.projects.locations.connectClusters.connectors.resume"
                    },
                    "create": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "POST",
                      "path": "v1/{+parent}/connectors",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "description": "Required. The parent Connect cluster in which to create the connector. Structured like `projects/{project}/locations/{location}/connectClusters/{connect_cluster_id}`.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+$"
                        },
                        "connectorId": {
                          "description": "Required. The ID to use for the connector, which will become the final component of the connector's name. The ID must be 1-63 characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` to comply with RFC 1035. This value is structured like: `my-connector-id`.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "request": {
                        "$ref": "Connector"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "Connector"
                      },
                      "description": "Creates a new connector in a given Connect cluster.",
                      "id": "managedkafka.projects.locations.connectClusters.connectors.create"
                    },
                    "list": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors",
                      "id": "managedkafka.projects.locations.connectClusters.connectors.list",
                      "parameters": {
                        "parent": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+$",
                          "location": "path",
                          "required": true,
                          "description": "Required. The parent Connect cluster whose connectors are to be listed. Structured like `projects/{project}/locations/{location}/connectClusters/{connect_cluster_id}`."
                        },
                        "pageSize": {
                          "description": "Optional. The maximum number of connectors to return. The service may return fewer than this value. If unspecified, server will pick an appropriate default.",
                          "format": "int32",
                          "type": "integer",
                          "location": "query"
                        },
                        "pageToken": {
                          "description": "Optional. A page token, received from a previous `ListConnectors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectors` must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "httpMethod": "GET",
                      "path": "v1/{+parent}/connectors",
                      "description": "Lists the connectors in a given Connect cluster.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListConnectorsResponse"
                      }
                    },
                    "get": {
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The name of the connector whose configuration to return. Structured like: projects/{project}/locations/{location}/connectClusters/{connectCluster}/connectors/{connector}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "httpMethod": "GET",
                      "response": {
                        "$ref": "Connector"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}",
                      "description": "Returns the properties of a single connector.",
                      "id": "managedkafka.projects.locations.connectClusters.connectors.get"
                    },
                    "pause": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}:pause",
                      "id": "managedkafka.projects.locations.connectClusters.connectors.pause",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}:pause",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "PauseConnectorRequest"
                      },
                      "description": "Pauses the connector and its tasks.",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "description": "Required. The name of the connector to pause. Structured like: projects/{project}/locations/{location}/connectClusters/{connectCluster}/connectors/{connector}"
                        }
                      },
                      "response": {
                        "$ref": "PauseConnectorResponse"
                      },
                      "httpMethod": "POST"
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "managedkafka.projects.locations.connectClusters.connectors.delete",
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "description": "Deletes a connector.",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "description": "Required. The name of the connector to delete. Structured like: projects/{project}/locations/{location}/connectClusters/{connectCluster}/connectors/{connector}",
                          "location": "path",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}"
                    },
                    "restart": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}/connectors/{connectorsId}:restart",
                      "description": "Restarts the connector.",
                      "id": "managedkafka.projects.locations.connectClusters.connectors.restart",
                      "path": "v1/{+name}:restart",
                      "request": {
                        "$ref": "RestartConnectorRequest"
                      },
                      "response": {
                        "$ref": "RestartConnectorResponse"
                      },
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the connector to restart. Structured like: projects/{project}/locations/{location}/connectClusters/{connectCluster}/connectors/{connector}",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+/connectors/[^/]+$",
                          "location": "path",
                          "required": true
                        }
                      }
                    }
                  }
                }
              },
              "methods": {
                "get": {
                  "id": "managedkafka.projects.locations.connectClusters.get",
                  "response": {
                    "$ref": "ConnectCluster"
                  },
                  "description": "Returns the properties of a single Kafka Connect cluster.",
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+$",
                      "type": "string",
                      "description": "Required. The name of the Kafka Connect cluster whose configuration to return. Structured like `projects/{project}/locations/{location}/connectClusters/{connect_cluster_id}`."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}"
                },
                "create": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters",
                  "description": "Creates a new Kafka Connect cluster in a given project and location.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "ConnectCluster"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "connectClusterId": {
                      "type": "string",
                      "location": "query",
                      "description": "Required. The ID to use for the Connect cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` to comply with RFC 1035. This value is structured like: `my-cluster-id`."
                    },
                    "parent": {
                      "description": "Required. The parent project/location in which to create the Kafka Connect cluster. Structured like `projects/{project}/locations/{location}/`.",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+parent}/connectClusters",
                  "id": "managedkafka.projects.locations.connectClusters.create",
                  "response": {
                    "$ref": "Operation"
                  },
                  "httpMethod": "POST"
                },
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "managedkafka.projects.locations.connectClusters.delete",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a single Connect cluster.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "path": "v1/{+name}",
                  "parameters": {
                    "requestId": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000)."
                    },
                    "name": {
                      "description": "Required. The name of the Kafka Connect cluster to delete. Structured like `projects/{project}/locations/{location}/connectClusters/{connect_cluster_id}`.",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+$",
                      "type": "string"
                    }
                  },
                  "httpMethod": "DELETE"
                },
                "patch": {
                  "response": {
                    "$ref": "Operation"
                  },
                  "request": {
                    "$ref": "ConnectCluster"
                  },
                  "path": "v1/{+name}",
                  "id": "managedkafka.projects.locations.connectClusters.patch",
                  "description": "Updates the properties of a single Kafka Connect cluster.",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "requestId": {
                      "type": "string",
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "location": "query"
                    },
                    "updateMask": {
                      "type": "string",
                      "location": "query",
                      "description": "Required. Field mask is used to specify the fields to be overwritten in the cluster resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields.",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "description": "Identifier. The name of the Kafka Connect cluster. Structured like: projects/{project_number}/locations/{location}/connectClusters/{connect_cluster_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connectClusters/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters/{connectClustersId}"
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "ListConnectClustersResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "filter": {
                      "description": "Optional. Filter expression for the result.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Required. The parent project/location whose Connect clusters are to be listed. Structured like `projects/{project}/locations/{location}`.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `ListConnectClusters` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectClusters` must match the call that provided the page token.",
                      "type": "string",
                      "location": "query"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Optional. Order by fields for the result.",
                      "location": "query"
                    },
                    "pageSize": {
                      "format": "int32",
                      "location": "query",
                      "description": "Optional. The maximum number of Connect clusters to return. The service may return fewer than this value. If unspecified, server will pick an appropriate default.",
                      "type": "integer"
                    }
                  },
                  "path": "v1/{+parent}/connectClusters",
                  "id": "managedkafka.projects.locations.connectClusters.list",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectClusters",
                  "httpMethod": "GET",
                  "description": "Lists the Kafka Connect clusters in a given project and location."
                }
              }
            },
            "schemaRegistries": {
              "methods": {
                "create": {
                  "request": {
                    "$ref": "CreateSchemaRegistryRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1/{+parent}/schemaRegistries",
                  "response": {
                    "$ref": "SchemaRegistry"
                  },
                  "id": "managedkafka.projects.locations.schemaRegistries.create",
                  "description": "Create a schema registry instance.",
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. The parent whose schema registry instance is to be created. Structured like: `projects/{project}/locations/{location}`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries",
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "delete": {
                  "response": {
                    "$ref": "Empty"
                  },
                  "id": "managedkafka.projects.locations.schemaRegistries.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Required. The name of the schema registry instance to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Delete a schema registry instance.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}"
                },
                "get": {
                  "description": "Get the schema registry instance.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "SchemaRegistry"
                  },
                  "id": "managedkafka.projects.locations.schemaRegistries.get",
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Required. The name of the schema registry instance to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ]
                },
                "list": {
                  "parameters": {
                    "view": {
                      "type": "string",
                      "enum": [
                        "SCHEMA_REGISTRY_VIEW_UNSPECIFIED",
                        "SCHEMA_REGISTRY_VIEW_BASIC",
                        "SCHEMA_REGISTRY_VIEW_FULL"
                      ],
                      "description": "Optional. Specifies the view to return for the schema registry instances. If not specified, the default view is SCHEMA_REGISTRY_VIEW_BASIC.",
                      "location": "query",
                      "enumDescriptions": [
                        "The unset value. The API will default to SCHEMA_REGISTRY_VIEW_BASIC.",
                        "If SchemaRegistryView is not specified, this is the default value. Returns only the name of the schema registry. The contexts associated with it are not included.",
                        "Returns the name of the schema registry and all the contexts associated with it."
                      ]
                    },
                    "parent": {
                      "location": "path",
                      "required": true,
                      "description": "Required. The parent whose schema registry instances are to be listed. Structured like: `projects/{project}/locations/{location}`",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "ListSchemaRegistriesResponse"
                  },
                  "id": "managedkafka.projects.locations.schemaRegistries.list",
                  "path": "v1/{+parent}/schemaRegistries",
                  "description": "List schema registries.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries"
                }
              },
              "resources": {
                "contexts": {
                  "methods": {
                    "get": {
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "GET",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The name of the context to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}`",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+$"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Context"
                      },
                      "description": "Get the context.",
                      "id": "managedkafka.projects.locations.schemaRegistries.contexts.get"
                    },
                    "list": {
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent of the contexts. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+$",
                          "type": "string"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts",
                      "description": "List contexts for a schema registry.",
                      "path": "v1/{+parent}/contexts",
                      "id": "managedkafka.projects.locations.schemaRegistries.contexts.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "HttpBody"
                      }
                    }
                  },
                  "resources": {
                    "mode": {
                      "methods": {
                        "delete": {
                          "path": "v1/{+name}",
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.mode.delete",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/mode/{modeId}",
                          "parameterOrder": [
                            "name"
                          ],
                          "description": "Delete schema mode for a subject.",
                          "parameters": {
                            "name": {
                              "description": "Required. The resource name of subject to delete the mode for. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject} * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}",
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/mode/.*$",
                              "location": "path",
                              "required": true
                            }
                          },
                          "response": {
                            "$ref": "SchemaMode"
                          },
                          "httpMethod": "DELETE",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "get": {
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/mode/{modeId}",
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.mode.get",
                          "response": {
                            "$ref": "SchemaMode"
                          },
                          "path": "v1/{+name}",
                          "description": "Get mode at global level or for a subject.",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/mode/.*$",
                              "location": "path",
                              "required": true,
                              "type": "string",
                              "description": "Required. The resource name of the mode. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject}: mode for a schema registry, or * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}: mode for a specific subject in a specific context"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "httpMethod": "GET"
                        },
                        "update": {
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/mode/.*$",
                              "location": "path",
                              "required": true,
                              "type": "string",
                              "description": "Required. The resource name of the mode. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject}: mode for a schema registry, or * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}: mode for a specific subject in a specific context"
                            }
                          },
                          "path": "v1/{+name}",
                          "description": "Update mode at global level or for a subject.",
                          "parameterOrder": [
                            "name"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/mode/{modeId}",
                          "httpMethod": "PUT",
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.mode.update",
                          "request": {
                            "$ref": "UpdateSchemaModeRequest"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "SchemaMode"
                          }
                        }
                      }
                    },
                    "compatibility": {
                      "methods": {
                        "checkCompatibility": {
                          "description": "Check compatibility of a schema with all versions or a specific version of a subject.",
                          "response": {
                            "$ref": "CheckCompatibilityResponse"
                          },
                          "httpMethod": "POST",
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.compatibility.checkCompatibility",
                          "request": {
                            "$ref": "CheckCompatibilityRequest"
                          },
                          "path": "v1/{+name}",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/compatibility/.*$",
                              "description": "Required. The name of the resource to check compatibility for. The format is either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/compatibility/subjects/*/versions: Check compatibility with one or more versions of the specified subject. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/compatibility/subjects/{subject}/versions/{version}: Check compatibility with a specific version of the subject.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/compatibility/{compatibilityId}"
                        }
                      }
                    },
                    "config": {
                      "methods": {
                        "delete": {
                          "description": "Delete schema config for a subject.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/config/{configId}",
                          "path": "v1/{+name}",
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.config.delete",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/config/.*$",
                              "description": "Required. The resource name of subject to delete the config for. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}",
                              "location": "path",
                              "required": true
                            }
                          },
                          "httpMethod": "DELETE",
                          "response": {
                            "$ref": "SchemaConfig"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "get": {
                          "path": "v1/{+name}",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameters": {
                            "name": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/config/.*$",
                              "description": "Required. The resource name to get the config for. It can be either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config: Get config at global level. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}: Get config for a specific subject."
                            },
                            "defaultToGlobal": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. If true, the config will fall back to the config at the global level if no subject level config is found."
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "httpMethod": "GET",
                          "response": {
                            "$ref": "SchemaConfig"
                          },
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.config.get",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/config/{configId}",
                          "description": "Get schema config at global level or for a subject."
                        },
                        "update": {
                          "response": {
                            "$ref": "SchemaConfig"
                          },
                          "description": "Update config at global level or for a subject. Creates a SchemaSubject-level SchemaConfig if it does not exist.",
                          "request": {
                            "$ref": "UpdateSchemaConfigRequest"
                          },
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.config.update",
                          "parameterOrder": [
                            "name"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "path": "v1/{+name}",
                          "httpMethod": "PUT",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/config/{configId}",
                          "parameters": {
                            "name": {
                              "description": "Required. The resource name to update the config for. It can be either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config: Update config at global level. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}: Update config for a specific subject.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/config/.*$",
                              "type": "string",
                              "location": "path",
                              "required": true
                            }
                          }
                        }
                      }
                    },
                    "subjects": {
                      "resources": {
                        "versions": {
                          "resources": {
                            "referencedby": {
                              "methods": {
                                "list": {
                                  "scopes": [
                                    "https://www.googleapis.com/auth/cloud-platform"
                                  ],
                                  "path": "v1/{+parent}/referencedby",
                                  "response": {
                                    "$ref": "HttpBody"
                                  },
                                  "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.versions.referencedby.list",
                                  "parameters": {
                                    "parent": {
                                      "description": "Required. The version to list referenced by. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`",
                                      "type": "string",
                                      "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+/versions/[^/]+$",
                                      "location": "path",
                                      "required": true
                                    }
                                  },
                                  "parameterOrder": [
                                    "parent"
                                  ],
                                  "httpMethod": "GET",
                                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}/versions/{versionsId}/referencedby",
                                  "description": "Get a list of IDs of schemas that reference the schema with the given subject and version."
                                }
                              }
                            }
                          },
                          "methods": {
                            "get": {
                              "parameters": {
                                "deleted": {
                                  "description": "Optional. If true, no matter if the subject/version is soft-deleted or not, it returns the version details. If false, it returns NOT_FOUND error if the subject/version is soft-deleted. The default is false.",
                                  "type": "boolean",
                                  "location": "query"
                                },
                                "name": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+/versions/[^/]+$",
                                  "type": "string",
                                  "description": "Required. The name of the subject to return versions. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`",
                                  "location": "path",
                                  "required": true
                                }
                              },
                              "httpMethod": "GET",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}/versions/{versionsId}",
                              "path": "v1/{+name}",
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.versions.get",
                              "description": "Get a versioned schema (schema with subject/version) of a subject.",
                              "response": {
                                "$ref": "SchemaVersion"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "parameterOrder": [
                                "name"
                              ]
                            },
                            "create": {
                              "path": "v1/{+parent}/versions",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}/versions",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "response": {
                                "$ref": "CreateVersionResponse"
                              },
                              "httpMethod": "POST",
                              "parameterOrder": [
                                "parent"
                              ],
                              "request": {
                                "$ref": "CreateVersionRequest"
                              },
                              "parameters": {
                                "parent": {
                                  "location": "path",
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+$",
                                  "type": "string",
                                  "description": "Required. The subject to create the version for. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`"
                                }
                              },
                              "description": "Register a new version under a given subject with the given schema.",
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.versions.create"
                            },
                            "delete": {
                              "parameters": {
                                "name": {
                                  "type": "string",
                                  "description": "Required. The name of the subject version to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+/versions/[^/]+$",
                                  "location": "path",
                                  "required": true
                                },
                                "permanent": {
                                  "description": "Optional. If true, both the version and the referenced schema ID will be permanently deleted. The default is false. If false, the version will be deleted but the schema ID will be retained. Soft-deleted versions can still be searched in ListVersions API call with deleted=true query parameter. A soft-delete of a version must be performed before a hard-delete.",
                                  "location": "query",
                                  "type": "boolean"
                                }
                              },
                              "httpMethod": "DELETE",
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "description": "Delete a version of a subject. The response will be the deleted version id.",
                              "parameterOrder": [
                                "name"
                              ],
                              "path": "v1/{+name}",
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.versions.delete",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}/versions/{versionsId}"
                            },
                            "getSchema": {
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.versions.getSchema",
                              "path": "v1/{+name}/schema",
                              "parameters": {
                                "deleted": {
                                  "description": "Optional. If true, no matter if the subject/version is soft-deleted or not, it returns the version details. If false, it returns NOT_FOUND error if the subject/version is soft-deleted. The default is false.",
                                  "type": "boolean",
                                  "location": "query"
                                },
                                "name": {
                                  "description": "Required. The name of the subject to return versions. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+/versions/[^/]+$",
                                  "type": "string",
                                  "location": "path",
                                  "required": true
                                }
                              },
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}/versions/{versionsId}/schema",
                              "httpMethod": "GET",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "Get the schema string only for a version of a subject. The response will be the schema string.",
                              "parameterOrder": [
                                "name"
                              ]
                            },
                            "list": {
                              "path": "v1/{+parent}/versions",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "parameterOrder": [
                                "parent"
                              ],
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "parameters": {
                                "parent": {
                                  "type": "string",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+$",
                                  "description": "Required. The subject whose versions are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                                  "location": "path",
                                  "required": true
                                },
                                "deleted": {
                                  "description": "Optional. If true, the response will include soft-deleted versions of an active or soft-deleted subject. The default is false.",
                                  "type": "boolean",
                                  "location": "query"
                                }
                              },
                              "httpMethod": "GET",
                              "description": "Get all versions of a subject. The response will be an array of versions of the subject.",
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.versions.list",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}/versions"
                            }
                          }
                        }
                      },
                      "methods": {
                        "delete": {
                          "path": "v1/{+name}",
                          "parameters": {
                            "permanent": {
                              "description": "Optional. If true, the subject and all associated metadata including the schema ID will be deleted permanently. Otherwise, only the subject is soft-deleted. The default is false. Soft-deleted subjects can still be searched in ListSubjects API call with deleted=true query parameter. A soft-delete of a subject must be performed before a hard-delete.",
                              "location": "query",
                              "type": "boolean"
                            },
                            "name": {
                              "description": "Required. The name of the subject to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "description": "Delete a subject. The response will be an array of versions of the deleted subject.",
                          "httpMethod": "DELETE",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.delete",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}"
                        },
                        "list": {
                          "parameterOrder": [
                            "parent"
                          ],
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.list",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects",
                          "description": "List subjects in the schema registry. The response will be an array of subject names.",
                          "httpMethod": "GET",
                          "path": "v1/{+parent}/subjects",
                          "parameters": {
                            "parent": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "description": "Required. The parent schema registry/context whose subjects are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+$"
                            },
                            "subjectPrefix": {
                              "type": "string",
                              "description": "Optional. The context to filter the subjects by, in the format of `:.{context}:`. If unset, all subjects in the registry are returned. Set to empty string or add as '?subjectPrefix=' at the end of this request to list subjects in the default context.",
                              "location": "query"
                            },
                            "deleted": {
                              "type": "boolean",
                              "location": "query",
                              "description": "Optional. If true, the response will include soft-deleted subjects. The default is false."
                            }
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "HttpBody"
                          }
                        },
                        "lookupVersion": {
                          "parameterOrder": [
                            "parent"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/subjects/{subjectsId}",
                          "description": "Lookup a schema under the specified subject.",
                          "parameters": {
                            "parent": {
                              "type": "string",
                              "description": "Required. The subject to lookup the schema in. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/subjects/[^/]+$",
                              "location": "path",
                              "required": true
                            }
                          },
                          "httpMethod": "POST",
                          "path": "v1/{+parent}",
                          "response": {
                            "$ref": "SchemaVersion"
                          },
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.subjects.lookupVersion",
                          "request": {
                            "$ref": "LookupVersionRequest"
                          }
                        }
                      }
                    },
                    "schemas": {
                      "resources": {
                        "subjects": {
                          "methods": {
                            "list": {
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.schemas.subjects.list",
                              "description": "List subjects which reference a particular schema id. The response will be an array of subject names.",
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "path": "v1/{+parent}/subjects",
                              "parameters": {
                                "subject": {
                                  "description": "Optional. The subject to filter the subjects by.",
                                  "location": "query",
                                  "type": "string"
                                },
                                "deleted": {
                                  "description": "Optional. If true, the response will include soft-deleted subjects. The default is false.",
                                  "type": "boolean",
                                  "location": "query"
                                },
                                "parent": {
                                  "type": "string",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/schemas/.*$",
                                  "description": "Required. The schema resource whose associated subjects are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/schemas/ids/{schema}`",
                                  "location": "path",
                                  "required": true
                                }
                              },
                              "parameterOrder": [
                                "parent"
                              ],
                              "httpMethod": "GET",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/schemas/{schemasId}/subjects"
                            }
                          }
                        },
                        "types": {
                          "methods": {
                            "list": {
                              "path": "v1/{+parent}/schemas/types",
                              "parameters": {
                                "parent": {
                                  "location": "path",
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+$",
                                  "description": "Required. The parent schema registry whose schema types are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`",
                                  "type": "string"
                                }
                              },
                              "httpMethod": "GET",
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/schemas/types",
                              "description": "List the supported schema types. The response will be an array of schema types.",
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.schemas.types.list",
                              "parameterOrder": [
                                "parent"
                              ]
                            }
                          }
                        },
                        "versions": {
                          "methods": {
                            "list": {
                              "description": "List the schema versions for the given schema id. The response will be an array of subject-version pairs as: [{\"subject\":\"subject1\", \"version\":1}, {\"subject\":\"subject2\", \"version\":2}].",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/schemas/{schemasId}/versions",
                              "path": "v1/{+parent}/versions",
                              "parameterOrder": [
                                "parent"
                              ],
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "parameters": {
                                "parent": {
                                  "description": "Required. The schema whose schema versions are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/schemas/ids/{schema}`",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/schemas/.*$",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "subject": {
                                  "description": "Optional. The subject to filter the subjects by.",
                                  "location": "query",
                                  "type": "string"
                                },
                                "deleted": {
                                  "location": "query",
                                  "type": "boolean",
                                  "description": "Optional. If true, the response will include soft-deleted versions of the schema, even if the subject is soft-deleted. The default is false."
                                }
                              },
                              "httpMethod": "GET",
                              "id": "managedkafka.projects.locations.schemaRegistries.contexts.schemas.versions.list"
                            }
                          }
                        }
                      },
                      "methods": {
                        "get": {
                          "response": {
                            "$ref": "Schema"
                          },
                          "description": "Get the schema for the given schema id.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "path": "v1/{+name}",
                          "parameters": {
                            "name": {
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/schemas/.*$",
                              "description": "Required. The name of the schema to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}`",
                              "type": "string"
                            },
                            "subject": {
                              "type": "string",
                              "description": "Optional. Used to limit the search for the schema ID to a specific subject, otherwise the schema ID will be searched for in all subjects in the given specified context.",
                              "location": "query"
                            }
                          },
                          "httpMethod": "GET",
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.schemas.get",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/schemas/{schemasId}",
                          "parameterOrder": [
                            "name"
                          ]
                        },
                        "getSchema": {
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "description": "Get the schema string for the given schema id. The response will be the schema string.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "httpMethod": "GET",
                          "parameters": {
                            "subject": {
                              "location": "query",
                              "description": "Optional. Used to limit the search for the schema ID to a specific subject, otherwise the schema ID will be searched for in all subjects in the given specified context.",
                              "type": "string"
                            },
                            "name": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "description": "Required. The name of the schema to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/contexts/[^/]+/schemas/.*$"
                            }
                          },
                          "id": "managedkafka.projects.locations.schemaRegistries.contexts.schemas.getSchema",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/contexts/{contextsId}/schemas/{schemasId}/schema",
                          "path": "v1/{+name}/schema"
                        }
                      }
                    }
                  }
                },
                "config": {
                  "methods": {
                    "get": {
                      "response": {
                        "$ref": "SchemaConfig"
                      },
                      "description": "Get schema config at global level or for a subject.",
                      "id": "managedkafka.projects.locations.schemaRegistries.config.get",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/config/{configId}",
                      "parameters": {
                        "defaultToGlobal": {
                          "type": "boolean",
                          "description": "Optional. If true, the config will fall back to the config at the global level if no subject level config is found.",
                          "location": "query"
                        },
                        "name": {
                          "description": "Required. The resource name to get the config for. It can be either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config: Get config at global level. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}: Get config for a specific subject.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/config/.*$"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "GET"
                    },
                    "delete": {
                      "httpMethod": "DELETE",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "managedkafka.projects.locations.schemaRegistries.config.delete",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/config/{configId}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/config/.*$",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The resource name of subject to delete the config for. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}"
                        }
                      },
                      "response": {
                        "$ref": "SchemaConfig"
                      },
                      "path": "v1/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Delete schema config for a subject."
                    },
                    "update": {
                      "response": {
                        "$ref": "SchemaConfig"
                      },
                      "id": "managedkafka.projects.locations.schemaRegistries.config.update",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/config/{configId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "UpdateSchemaConfigRequest"
                      },
                      "description": "Update config at global level or for a subject. Creates a SchemaSubject-level SchemaConfig if it does not exist.",
                      "parameters": {
                        "name": {
                          "description": "Required. The resource name to update the config for. It can be either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config: Update config at global level. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/config/{subject}: Update config for a specific subject.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/config/.*$",
                          "type": "string"
                        }
                      },
                      "httpMethod": "PUT"
                    }
                  }
                },
                "compatibility": {
                  "methods": {
                    "checkCompatibility": {
                      "id": "managedkafka.projects.locations.schemaRegistries.compatibility.checkCompatibility",
                      "response": {
                        "$ref": "CheckCompatibilityResponse"
                      },
                      "description": "Check compatibility of a schema with all versions or a specific version of a subject.",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/compatibility/.*$",
                          "description": "Required. The name of the resource to check compatibility for. The format is either of following: * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/compatibility/subjects/*/versions: Check compatibility with one or more versions of the specified subject. * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/compatibility/subjects/{subject}/versions/{version}: Check compatibility with a specific version of the subject.",
                          "type": "string",
                          "location": "path",
                          "required": true
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/compatibility/{compatibilityId}",
                      "request": {
                        "$ref": "CheckCompatibilityRequest"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "POST",
                      "path": "v1/{+name}"
                    }
                  }
                },
                "mode": {
                  "methods": {
                    "delete": {
                      "id": "managedkafka.projects.locations.schemaRegistries.mode.delete",
                      "description": "Delete schema mode for a subject.",
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/mode/{modeId}",
                      "parameters": {
                        "name": {
                          "description": "Required. The resource name of subject to delete the mode for. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject} * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/mode/.*$",
                          "location": "path",
                          "required": true
                        }
                      },
                      "response": {
                        "$ref": "SchemaMode"
                      },
                      "httpMethod": "DELETE",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "id": "managedkafka.projects.locations.schemaRegistries.mode.get",
                      "description": "Get mode at global level or for a subject.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/mode/{modeId}",
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "name": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/mode/.*$",
                          "description": "Required. The resource name of the mode. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject}: mode for a schema registry, or * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}: mode for a specific subject in a specific context",
                          "location": "path",
                          "required": true
                        }
                      },
                      "response": {
                        "$ref": "SchemaMode"
                      },
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "update": {
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/mode/{modeId}",
                      "response": {
                        "$ref": "SchemaMode"
                      },
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/mode/.*$",
                          "description": "Required. The resource name of the mode. The format is * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/mode/{subject}: mode for a schema registry, or * projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/mode/{subject}: mode for a specific subject in a specific context",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "description": "Update mode at global level or for a subject.",
                      "httpMethod": "PUT",
                      "id": "managedkafka.projects.locations.schemaRegistries.mode.update",
                      "request": {
                        "$ref": "UpdateSchemaModeRequest"
                      }
                    }
                  }
                },
                "schemas": {
                  "resources": {
                    "subjects": {
                      "methods": {
                        "list": {
                          "path": "v1/{+parent}/subjects",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/schemas/{schemasId}/subjects",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "subject": {
                              "description": "Optional. The subject to filter the subjects by.",
                              "type": "string",
                              "location": "query"
                            },
                            "deleted": {
                              "location": "query",
                              "description": "Optional. If true, the response will include soft-deleted subjects. The default is false.",
                              "type": "boolean"
                            },
                            "parent": {
                              "description": "Required. The schema resource whose associated subjects are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/schemas/ids/{schema}`",
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/schemas/.*$",
                              "location": "path",
                              "required": true
                            }
                          },
                          "description": "List subjects which reference a particular schema id. The response will be an array of subject names.",
                          "httpMethod": "GET",
                          "id": "managedkafka.projects.locations.schemaRegistries.schemas.subjects.list",
                          "response": {
                            "$ref": "HttpBody"
                          }
                        }
                      }
                    },
                    "versions": {
                      "methods": {
                        "list": {
                          "id": "managedkafka.projects.locations.schemaRegistries.schemas.versions.list",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "description": "List the schema versions for the given schema id. The response will be an array of subject-version pairs as: [{\"subject\":\"subject1\", \"version\":1}, {\"subject\":\"subject2\", \"version\":2}].",
                          "parameterOrder": [
                            "parent"
                          ],
                          "httpMethod": "GET",
                          "path": "v1/{+parent}/versions",
                          "parameters": {
                            "subject": {
                              "description": "Optional. The subject to filter the subjects by.",
                              "type": "string",
                              "location": "query"
                            },
                            "deleted": {
                              "type": "boolean",
                              "description": "Optional. If true, the response will include soft-deleted versions of the schema, even if the subject is soft-deleted. The default is false.",
                              "location": "query"
                            },
                            "parent": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "description": "Required. The schema whose schema versions are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/schemas/ids/{schema}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/schemas/.*$"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/schemas/{schemasId}/versions",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    },
                    "types": {
                      "methods": {
                        "list": {
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "httpMethod": "GET",
                          "description": "List the supported schema types. The response will be an array of schema types.",
                          "parameters": {
                            "parent": {
                              "type": "string",
                              "description": "Required. The parent schema registry whose schema types are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}`",
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+$"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/schemas/types",
                          "path": "v1/{+parent}/schemas/types",
                          "id": "managedkafka.projects.locations.schemaRegistries.schemas.types.list",
                          "parameterOrder": [
                            "parent"
                          ]
                        }
                      }
                    }
                  },
                  "methods": {
                    "get": {
                      "httpMethod": "GET",
                      "id": "managedkafka.projects.locations.schemaRegistries.schemas.get",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The name of the schema to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/schemas/.*$",
                          "location": "path",
                          "required": true
                        },
                        "subject": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. Used to limit the search for the schema ID to a specific subject, otherwise the schema ID will be searched for in all subjects in the given specified context."
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Schema"
                      },
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/schemas/{schemasId}",
                      "description": "Get the schema for the given schema id."
                    },
                    "getSchema": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/schemas/{schemasId}/schema",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "GET",
                      "id": "managedkafka.projects.locations.schemaRegistries.schemas.getSchema",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/schemas/.*$",
                          "location": "path",
                          "required": true,
                          "description": "Required. The name of the schema to return. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/schemas/ids/{schema}`",
                          "type": "string"
                        },
                        "subject": {
                          "description": "Optional. Used to limit the search for the schema ID to a specific subject, otherwise the schema ID will be searched for in all subjects in the given specified context.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "path": "v1/{+name}/schema",
                      "description": "Get the schema string for the given schema id. The response will be the schema string."
                    }
                  }
                },
                "subjects": {
                  "resources": {
                    "versions": {
                      "resources": {
                        "referencedby": {
                          "methods": {
                            "list": {
                              "httpMethod": "GET",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}/versions/{versionsId}/referencedby",
                              "parameters": {
                                "parent": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+/versions/[^/]+$",
                                  "type": "string",
                                  "location": "path",
                                  "required": true,
                                  "description": "Required. The version to list referenced by. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`"
                                }
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "Get a list of IDs of schemas that reference the schema with the given subject and version.",
                              "id": "managedkafka.projects.locations.schemaRegistries.subjects.versions.referencedby.list",
                              "path": "v1/{+parent}/referencedby",
                              "parameterOrder": [
                                "parent"
                              ],
                              "response": {
                                "$ref": "HttpBody"
                              }
                            }
                          }
                        }
                      },
                      "methods": {
                        "list": {
                          "id": "managedkafka.projects.locations.schemaRegistries.subjects.versions.list",
                          "httpMethod": "GET",
                          "parameters": {
                            "deleted": {
                              "location": "query",
                              "description": "Optional. If true, the response will include soft-deleted versions of an active or soft-deleted subject. The default is false.",
                              "type": "boolean"
                            },
                            "parent": {
                              "description": "Required. The subject whose versions are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+$"
                            }
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}/versions",
                          "parameterOrder": [
                            "parent"
                          ],
                          "path": "v1/{+parent}/versions",
                          "description": "Get all versions of a subject. The response will be an array of versions of the subject."
                        },
                        "get": {
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}/versions/{versionsId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "description": "Required. The name of the subject to return versions. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`",
                              "type": "string"
                            },
                            "deleted": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. If true, no matter if the subject/version is soft-deleted or not, it returns the version details. If false, it returns NOT_FOUND error if the subject/version is soft-deleted. The default is false."
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "id": "managedkafka.projects.locations.schemaRegistries.subjects.versions.get",
                          "description": "Get a versioned schema (schema with subject/version) of a subject.",
                          "response": {
                            "$ref": "SchemaVersion"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "path": "v1/{+name}"
                        },
                        "create": {
                          "path": "v1/{+parent}/versions",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Register a new version under a given subject with the given schema.",
                          "response": {
                            "$ref": "CreateVersionResponse"
                          },
                          "id": "managedkafka.projects.locations.schemaRegistries.subjects.versions.create",
                          "parameters": {
                            "parent": {
                              "description": "Required. The subject to create the version for. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}/versions",
                          "httpMethod": "POST",
                          "request": {
                            "$ref": "CreateVersionRequest"
                          }
                        },
                        "delete": {
                          "description": "Delete a version of a subject. The response will be the deleted version id.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "httpMethod": "DELETE",
                          "parameters": {
                            "permanent": {
                              "location": "query",
                              "description": "Optional. If true, both the version and the referenced schema ID will be permanently deleted. The default is false. If false, the version will be deleted but the schema ID will be retained. Soft-deleted versions can still be searched in ListVersions API call with deleted=true query parameter. A soft-delete of a version must be performed before a hard-delete.",
                              "type": "boolean"
                            },
                            "name": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "description": "Required. The name of the subject version to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+/versions/[^/]+$"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}/versions/{versionsId}",
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}",
                          "id": "managedkafka.projects.locations.schemaRegistries.subjects.versions.delete"
                        },
                        "getSchema": {
                          "parameters": {
                            "deleted": {
                              "description": "Optional. If true, no matter if the subject/version is soft-deleted or not, it returns the version details. If false, it returns NOT_FOUND error if the subject/version is soft-deleted. The default is false.",
                              "type": "boolean",
                              "location": "query"
                            },
                            "name": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+/versions/[^/]+$",
                              "description": "Required. The name of the subject to return versions. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}/versions/{version}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}/versions/{version}`"
                            }
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "httpMethod": "GET",
                          "id": "managedkafka.projects.locations.schemaRegistries.subjects.versions.getSchema",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "description": "Get the schema string only for a version of a subject. The response will be the schema string.",
                          "path": "v1/{+name}/schema",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}/versions/{versionsId}/schema",
                          "parameterOrder": [
                            "name"
                          ]
                        }
                      }
                    }
                  },
                  "methods": {
                    "list": {
                      "id": "managedkafka.projects.locations.schemaRegistries.subjects.list",
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "path": "v1/{+parent}/subjects",
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List subjects in the schema registry. The response will be an array of subject names.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects",
                      "parameters": {
                        "subjectPrefix": {
                          "description": "Optional. The context to filter the subjects by, in the format of `:.{context}:`. If unset, all subjects in the registry are returned. Set to empty string or add as '?subjectPrefix=' at the end of this request to list subjects in the default context.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+$",
                          "description": "Required. The parent schema registry/context whose subjects are to be listed. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}`",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "deleted": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. If true, the response will include soft-deleted subjects. The default is false."
                        }
                      },
                      "httpMethod": "GET"
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}",
                      "description": "Delete a subject. The response will be an array of versions of the deleted subject.",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "parameters": {
                        "name": {
                          "type": "string",
                          "description": "Required. The name of the subject to delete. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+$",
                          "location": "path",
                          "required": true
                        },
                        "permanent": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. If true, the subject and all associated metadata including the schema ID will be deleted permanently. Otherwise, only the subject is soft-deleted. The default is false. Soft-deleted subjects can still be searched in ListSubjects API call with deleted=true query parameter. A soft-delete of a subject must be performed before a hard-delete."
                        }
                      },
                      "httpMethod": "DELETE",
                      "id": "managedkafka.projects.locations.schemaRegistries.subjects.delete",
                      "path": "v1/{+name}"
                    },
                    "lookupVersion": {
                      "parameters": {
                        "parent": {
                          "description": "Required. The subject to lookup the schema in. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/schemaRegistries/[^/]+/subjects/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "description": "Lookup a schema under the specified subject.",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "LookupVersionRequest"
                      },
                      "response": {
                        "$ref": "SchemaVersion"
                      },
                      "path": "v1/{+parent}",
                      "id": "managedkafka.projects.locations.schemaRegistries.subjects.lookupVersion",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schemaRegistries/{schemaRegistriesId}/subjects/{subjectsId}",
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
